问答题
用32位二进制补码表示整数,可以表示的最大正数是2驰一1,绝对值最大的负数是-2
31
。为什么正、负数范围不对称(即为什么负整数比正整数多一个)?写出这两个数的二进制代码(用十六进制表示)。
【正确答案】
【答案解析】
因为“0”的表示唯一,32位补码中用二进制数的32个0来表示“0”,其中符号位为0,相当于将“0”表示成了正零,这样,最高位为0(即正数)的32位二进制编码就只剩下2
31
-1个数,而最高位为1(即负数)的编码还有2
31
个,所以最大的正数是2
31
-1,而最小的负数是-2
31
,比正数多一个。最大的正整数2
31
-1写成二进制代码是:7FFF FF FFH,而-2
31
是:80 00 00 00H。
提交答案
关闭