一个 8位补码由4 个“1”和 4 个“0”组成,则可表示的最大十进制整数为?参考资料上的答案是120

1个回答

  • 不可能是240啦

    8位补码中,首位是符号位,表示数字的正负,0为正,1为负.

    其余7位表示数值的大小.

    7位的二进制数最大也就是7个1吧,1111111B = 127D

    转换成十进制就是127,所以240肯定是错的啦~

    题目要求最大,那么先确定这是一个正数,即首位是0

    根据补码的定义,我们知道,对于一个正数,它的原码、反码、补码都是相同的.

    也就是说,它的补码就是该数字的实际大小.

    显然,将所有的1置于高位就可以了,得到结果:

    0111 1000B=120D

    之所以会得出240,是因为没有把首位符号位考虑在内,所以得出:

    1111 0000B=240D

    的结果.这是错误滴~