问题 问答题

用32位二进制补码表示整数,可以表示的最大正数是2驰一1,绝对值最大的负数是-231。为什么正、负数范围不对称(即为什么负整数比正整数多一个)写出这两个数的二进制代码(用十六进制表示)。

答案

参考答案:因为“0”的表示唯一,32位补码中用二进制数的32个0来表示“0”,其中符号位为0,相当于将“0”表示成了正零,这样,最高位为0(即正数)的32位二进制编码就只剩下231-1个数,而最高位为1(即负数)的编码还有231个,所以最大的正数是231-1,而最小的负数是-231,比正数多一个。最大的正整数231-1写成二进制代码是:7FFF FF FFH,而-231是:80 00 00 00H。

单项选择题
单项选择题 A1/A2型题