在刚接触整型数据的存储空间和值的范围时,感觉这东西好无聊,应该没什么用吧!不过,现在,不得不承认,这东西真的很有用。在编写程序时,有些时候需要考虑数据规模,这个时候就能深切的体会到下面这个表格的用途了。例如,有些参加过程序设计竞赛的朋友应该知道,题目中是有测试数据规模要求的。
类型 | 字节数 | 取值范围 |
---|---|---|
int | 2 | - 32768 ~ 32767 (5位十进制数) |
int | 4 | - 2147483648 ~ 2147483647 (10位十进制数) |
unsignde int | 2 | 0 ~ 65535 (5位十进制数) |
unsignde int | 4 | 0 ~ 4294967295 (10位十进制数) |
short | 2 | - 32768 ~ 32767 (5位十进制数) |
unsigned short | 2 | 0 ~ 65535 (5位十进制数) |
long | 4 | - 2147483648 ~ 2147483647 (10位十进制数) |
usigned long | 4 | 0 ~ 4294967295 (10位十进制数) |
long long | 8 | - 9223372036854775808 ~ 9223372036854775807(20位十进制数) |
unsigned long long | 8 | 0 ~ 18446744073709551615 (20位十进制数) |
解释:
1、编译系统给int型数据分配的内存可能是2个字节或是4个字节,具体由编译系统自行决定。例如:Turbo C 2.0分配的是2个字节,而Visual C++则分配4个字节。
2、在编程考虑数据规模时,如果记不清楚具体数值范围,可根据十进制位数来决定使用什么类型。例如:当需要存储一个大小为100 000 000 0的数时,可以选择大于等于10位十进制数范围的类型,如long、long long 等。