不可能是240啦
8位补码中,首位是符号位,表示数字的正负,0为正,1为负.
其余7位表示数值的大小.
7位的二进制数最大也就是7个1吧,1111111B = 127D
转换成十进制就是127,所以240肯定是错的啦~
题目要求最大,那么先确定这是一个正数,即首位是0
根据补码的定义,我们知道,对于一个正数,它的原码、反码、补码都是相同的.
也就是说,它的补码就是该数字的实际大小.
显然,将所有的1置于高位就可以了,得到结果:
0111 1000B=120D
之所以会得出240,是因为没有把首位符号位考虑在内,所以得出:
1111 0000B=240D
的结果.这是错误滴~