電腦是64位系統,然而編程是發現int型只是占4位元組
uj5u.com熱心網友回復:
64位系統不一定運行著64位編譯器,你的編譯器要是32位,那就是4個位元組uj5u.com熱心網友回復:
c加加標準決定只有long long長度才能保證64. int只保證大于等于32.uj5u.com熱心網友回復:
64位只是說明記憶體地址可以用8個位元組來保存,增大尋址長度,也就可以訪問更大的記憶體(32位機只支持4g記憶體就是這個原因,2^32=4*2^10*2^10*2^10)。這對于int占幾個位元組沒有直接的關系吧。一般來說編譯器都還保持原來的型別大小,方便移植(比如32位程式移植到64位機器,對于int的移位運算還是保持32位,不用修改為移位64位,否則影響很大,修改量很大)。uj5u.com熱心網友回復:
int 是 32 位windows下, int 和 long 都是32位; long long int才是64位。(windows系統的統一規定)
linux下,int 32位; long有的32有的64不一; long long int才是64位 (和cpu的型別有關系)
編譯器負責處理,但是要照顧到作業系統的固定
c/c++里面對其沒有準確位數的規定
long double也是類似的,不過花樣更多, 8位元組,10位元組,12位元組,16位元組都有
sizeof(int) 自己測驗自己的系統上的情況吧
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/148824.html
標籤:C++ 語言
上一篇:一知半解
