在C语言中为什么int型的取值范围是-32768~32767
发布网友
发布时间:2022-05-06 03:21
我来回答
共4个回答
热心网友
时间:2022-06-28 14:02
int型取值范围为-32768~32767是针对int型占2个字节来说的。
下面具体说明该范围的求法:
int型占2个字节,共16位。
int型能表示的最大正数为(最高位为符号位,正数的符号位为0):0111 1111 1111 1111
也即2^15-1=32767
int型能表示的最小负数为(最高位为符号位,负数的符号位为1):1000 0000 0000 0000(补码),而在计算机中负数是利用补码进行存储的,所以将1000 0000 0000 0000转换为源码就是1000 0000 0000 0000,也即-2^15=32768
所以int型取值范围为-32768~32767
热心网友
时间:2022-06-28 14:03
1楼的正解,因为有个0,其实你自己用2进制算一下就明白了
热心网友
时间:2022-06-28 14:03
因为有一个0
热心网友
时间:2022-06-28 14:04
范围而已,没什么为什么