數據類型
類型 | 關鍵字 |
---|---|
布爾型 | bool |
字符型 | char |
整型 | int |
浮點型 | float |
雙浮點型 | double |
無類型 | void |
寬字符型 | wchar_t |
數據類型的大小
類型 | 位 | 範圍 |
---|---|---|
char | 1 個字節 | -128 到 127 或者 0 到 255 |
unsigned char | 1 個字節 | 0 到 255 |
signed char | 1 個字節 | -128 到 127 |
int | 4 個字節 | -2147483648 到 2147483647 |
unsigned int | 4 個字節 | 0 到 4294967295 |
signed int | 4 個字節 | -2147483648 到 2147483647 |
short int | 2 個字節 | -32768 到 32767 |
unsigned short int | 2 個字節 | 0 到 65,535 |
signed short int | 2 個字節 | -32768 到 32767 |
long int | 8 個字節 | -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 |
signed long int | 8 個字節 | -9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 |
unsigned long int | 8 個字節 | 0 到 18,446,744,073,709,551,615 |
float | 4 個字節 | 精度型佔4個字節(32位)內存空間,+/- 3.4e +/- 38 (~7 個數字) |
double | 8 個字節 | 雙精度型佔8 個字節(64位)內存空間,+/- 1.7e +/- 308 (~15 個數字) |
long double | 16 個字節 | 長雙精度型 16 個字節(128位)內存空間,可提供18-19位有效數字。 |
wchar_t | 2 或 4 個字節 | 1 個寬字符 |
從上表可得知,變量的大小會根據編譯器和所使用的電腦而有所不同。
一般來說,假設整型數據類型佔的二進制位數n,如果表示無符號整數則取值範圍是[0,2^n-1 ] ,如果表示有符號整數,[-2^(n-1) , 2^(n-1) - 1]。
例:以計算無符號短整數(unsigned short int)爲例
1Byte=8bit,故2Byte=16bit,n=16
無符號短整數則取值範圍是[0,2^n-1 ],計算[0,2^16-1]=[0,65535].