C語言 32位,64位機器sizeof區別

2022-05-18 01:35:03 字數 973 閱讀 1067

float, double: 採用ieee標準浮點數格式,格式固定float 32bit,double 64bit

int一般和cpu暫存器長度有關,不過也和編譯器,彙編器有關

由於c ,c++ 標準沒有規定整數型別的固定長度。

同一cpu不同作業系統和編譯器,對於int 型別規定的長度是不同的

於是為了區別這些不同,出現了資料模型這種東西。

資料模型(lp32 ilp32 lp64 llp64 ilp64 )

type               lp32  ilp32  lp64  ilp64  llp64

char                 8         8          8         8         8

short               16       16        16       16       16

int                  16       32        32        64      32

long                32       32        64       64       32

long long         64       64        64       64       64

pointer            32       32        64       64       64  

模型的名字就表明了相應資料型別的位數。lp32就表示long 和 pointer 是32位的其他的類推。

windows下採用的是llp64, unix系列的採用的是lp64

注意:char, short, long long在所有模型下的大小都相同

指標在32位下為32bit, 在64位下為64bit

來自:

C語言 32位,64位機器sizeof區別

float,double 採用ieee標準浮點數格式,格式固定float 32bit,double 64bit int一般和cpu暫存器長度有關,不過也和編譯器,彙編器有關 由於c c 標準沒有規定整數型別的固定長度。同一cpu不同作業系統和編譯器,對於int 型別規定的長度是不同的 於是為了區別這...

判斷機器 程式是32位還是64位

一 linux上如何知道自己的作業系統 計算機 是32位還是 64位的?linux users should type the uname command.depending on the platform,you may see linux gaylord.stata.com 2.6.11 1.2...

如何檢視機器是32位還是64位

如何檢視機器是32位還是64位 工作轉換到windows位主了,一些基本的方法 windows os 微軟作業系統中,有很多方法可以用,但最終顯示出來是這個 system type 1.我的電腦右鍵後屬性 control panel system and security system 可以看出電腦...