作业帮 > 综合 > 作业

为什么int是从-32768到32767而不是从-32767到32767呢?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/04/29 02:11:52
为什么int是从-32768到32767而不是从-32767到32767呢?
计算机用二进制表示负数是用的“补码法”,做法是正数按原码,负数用其相反数的反码加一.
这种结果用-32768代替了“-0”,可以使符号位能与有效值部分一起参加运算,从而简化运算规则;同时使减法运算转换为加法运算,进一步简化计算机中运算器的线路设计.
举例:
3的码值是 00000011,-3则为:11111100+1= 11111101
32767的码值是01111111,11111111(15个1),-32767是
10000000,00000000+1=10000000,00000001
-32768是01111111,11111111+1=10000000,00000000