作业帮 > 综合 > 作业

C语言:关于有符号整型变量范围的问题

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/21 09:21:54
C语言:关于有符号整型变量范围的问题
为什么有符号整形变量的范围是-32768~32767 而不是-32767~32767呢?
在TC系统下,一个有符号整型变量占两个字节,即有16个2进制位.
除去第一位表示正负,剩下15为所能表示的最大值应为32767(2的15次方减1),那么加上符号后的范围不应该是-32767~32767吗?-32768是如何得出来的?
15位所能表达的数是 0--32767 总共 32768个数
加一个符号位 正的 0--32767
负的 0的最高位加一个1 可不是 -0 而是 -32768
负数用补码方式存储 FFFF表示-1 从FFFF到8000也是总共32768个数 也就是 -1 到 -32768
-32768--- -1 0 ----32768 16位 总共 65536个数