目录
三,printf 以%d 打印的数值范围,与 int 型范围一致
一,用转到定义看大小
包含头文件 #include<limits.h>,
可看到:
INT_MIN 是 int 类型表示的最小值 (此处是减一的意思),即 -2147483648 。
INT_MAX是 int 类型表示的最大值,即 2147483647。
二,解释
1,2的31次方:2147483648, 2的32次方:4294967296
2,二进制中几位数可以表达的最大值:
① 000:3 位二进制位
最大:111,表示:2的3次方减1,7
② 0000:4 位二进制位
最大:1111,表示:2的4次方-1,15
③ 31位二进制位
最大:31 个 1,表示:2的31次方-1,2147483647
3,int 类型是有符号位的:
int 是 32 位的有符号类型,最高位是符号位,所以,算大小的是 31 位,31位组成的数中,最大是 2 的 31 次方-1,即 2147483647。
由上图可知:
① 符号位:0(正):最大是:2147483647,而前一位是2147483647,(该位数-1)
② 符号位:1(负):最小是:-2147483647,前一位是-2147483648,(该位数-1),后一位是-2147483646,(该位数+1)
③ 不对称的一个数:符号位是1,其余全是0了,所以只有一个(100...000),大小是2的31次方,规定是-2147483648。