1. 程式人生 > >在C語言中各種資料型別各佔多少位

在C語言中各種資料型別各佔多少位

(一)32位平臺:
分為有符號型與無符號型。
有符號型:
short 在記憶體中佔兩個位元組,範圍為-2^15~(2^15-1)
int 在記憶體中佔四個位元組,範圍為-2^31~(2^31-1)
long在記憶體中佔四個位元組,範圍為-2^31~2^31-1
無符號型:最高位不表示符號位
unsigned short 在記憶體中佔兩個位元組,範圍為0~2^16-1
unsigned int 在記憶體中佔四個位元組,範圍為0~2^32-1
unsigned long在記憶體中佔四個位元組,範圍為0~2^32-1
實型變數:
分單精度 float 和雙精度 double 兩種形式:
float:佔四個位元組,提供7~8位有效數字。
double: 佔八個位元組,提供15~16位有效數字。

(二)16位平臺:
1)整型(基本型):型別說明符為int,在記憶體中佔2個位元組。
2)短整型:型別說明符為short int或short。所佔位元組和取值範圍均與整型(基本型)相同。
3)長整型:型別說明符為long int或long,在記憶體中佔4個位元組。
無符號型:型別說明符為unsigned。
無符號型又可與上述三種類型匹配而構成:
各種無符號型別量所佔的記憶體空間位元組數與相應的有符號型別量相同。但由於省去了符號位,故不能表示負數。
實型變數:
分為單精度(float型)、雙精度(double型)和長雙精度(long double型)三類。
單精度型佔4個位元組(32位)記憶體空間,其數值範圍為3.4E-38~3.4E+38,只能提供七位有效數字。
雙精度型佔8 個位元組(64位)記憶體空間,其數值範圍為1.7E-308~1.7E+308,可提供16位有效數字。
長雙精度型16 個位元組(128位)記憶體空間,可提供18-19位有效數字。