bool型爲布爾型,佔1個字節,取值0或1。 |
BOOL型爲int型,一般認爲佔4個字節,取值TRUE/FALSE/ERROR。
sbyte型爲有符號8位整數,佔1個字節,取值範圍在128~127之間。
bytet型爲無符號16位整數,佔2個字節,取值範圍在0~255之間。
short型爲有符號16位整數,佔2個字節,取值範圍在-32,768~32,767之間。
ushort型爲無符號16位整數,佔2個字節,取值範圍在0~65,535之間。
int型爲有符號32位整數,佔4個字節,取值範圍在-2,147,483,648~2,147,483,647之間。
uint型爲無符號32位整數,佔4個字節,取值範圍在0~4,294,967,295之間。
long型爲64位有符號整數,佔8個字節,取值範圍在9,223,372,036,854,775,808~9,223,372,036,854,775,807之間。
ulong型爲64位無符號整數,佔8個字節,取值範圍在0~18,446,744,073,709,551,615之間。
float型爲32位單精度實數,佔4個字節,取值範圍3.4E+10的負38次方~3.4E+10的38次方之間。
double型爲64位實數,佔8個字節,取值範圍1.7E+10的負308次方~1.7E+10的正308次方。
指針佔4個字節。
注意:int佔多少個字節是由編譯器決定的,ANSI標準定義int是佔2個字節.
TC是按ANSI標準的,它的int是佔2個字節的.
你可以在TC裏試.printf("%d",sizeof(int));結果是2;
但是在VC裏,一個int是佔4個字節的,在VC裏面,
printf("%d",sizeof(int));
cout<<sizeof(int);結果都是4.
不同的編譯器,規定也不一樣.
float,double也是一樣的,在不同的編譯器裏,佔的字節是不一樣的.