1)sizeof(int)=4,即int型数据占在内存中占32位
2)由于 int是signed int,所以32位中第一位用来表示符号,用来表示数值的位数只有31位
3)忽略符号位,31位能表示的最大数应为:2^0+2^1+.....+2^30=2^31-1
4)加上符号位表示正负,即int能表示的整数取值范围为:-2^31-1~2^31-1
5)又由于整数在内存中是以二进制的补码形式存储的,正负零都可以表示零,所以就用负零表示
数值 -2^31,因此int能表示的整数取值范围就变成了:-2^31~2^31-1
|