使用64位的C++ Long Long int会限制该程序仅用于执行64位操作系统,还是会在32位操作系统上执行64位的值?C++ Long Long INT - 64位是否仅限于64位操作系统?
我有一个程序,我将一个整数种子传递给随机生成器,并使用种子作为开始在随机算法中的位置的关键。我用long long int编译我的代码,编译并运行时没有问题,但是我的系统运行的是Windows 7 64位,我没有32位系统来测试它。虽然这个程序将主要在我的64位系统上运行,但是这个问题背后的原因是要了解long long int只用于64位OS系统还是32位系统可以通过2来处理64位int或更多的时钟周期来处理64位与64位操作系统能够在更少的时钟周期内处理它?也许我正在比较苹果与64位int到64位CPU/OS的橙子?认为如果能够通过32位CPU/OS来处理它在64位int时可能效率低下?
请分享程序以便更好地理解 –
,以便了解64位类型和操作是如何在32位环境中实现的:http://stackoverflow.com/a/20773254/2805305 – bolov
查看http:///en.cppreference.com/w/cpp/types/整数,当你需要一个必须足够大以处理特定位数的变量时,最好使用那些'已编号'的int类型。当你只需要一个整数时,你应该使用'普通'int类型,但是在这种情况下唯一的假设是sizeof(int)<= sizeof(long)<= sizeof(long long),注意< =,而不是<。 – user3159253