数据类型 | 16位编译器(存储占用空间,单位:bytes) | 32位编译器(存储占用空间,单位:bytes) | 64位编译器(存储占用空间,单位:bytes) | 32位编译器下取值范围 |
---|---|---|---|---|
char | 1 | 1 | 1 | -128~127 (-2 7 ~2 7 -1) |
unsigned char | 1 | 1 | 1 | 0~255 (0~2 8 -1) |
short int | 2 | 2 | 2 | -32767~32768 (-2 15 ~2 15 -1) |
unsigned short int | 2 | 2 | 2 | 0~65535 (0~2 16 -1) |
int | 2 | 4 | 4 | -2147483648~2147483647 (-2 31 ~2 31 -1) |
unsigned int | 2 | 4 | 4 | 0~4294967295 (0~2 32 -1) |
long | 4 | 4 | 8 | -2147483648~2147483647 (-2 31 ~2 31 -1) |
unsigned long | 4 | 4 | 8 | (0 ~2 32 -1) |
long long | 8 | 8 | 8 | (-2 63 ~2 63 -1) |
float | 4 | 4 | 4 |
(-3.4*10
38
~2
3.4*10
38)
注:精度约为 6 到 7 位有效数字 |
double | 8 | 8 | 8 |
(-1.7*10
308
~2
1.7*10
308)
注:精度约为15到16位有效数字 |