使用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