用5位0,1表示一个二进制数,1位为符号位,其他4位为数值位。-7-13,采用补码,则运算式和结果
2个回答
2016-10-24
展开全部
另外那个回答是有问题的哈。(另外给一个小技巧,判断一个数的负数的补码是否正确,可以简单将两个数相加,除去进位如果是0,那就是对的。如下面将下面-7和+7的补码相加,出去进位,刚好就是0;后面-13和+13的也是这样子)
十进制数 7的5位二进制补码为00111,
十进制数 -7的5位二进制补码为 11001,
十进制数 13的5位二进制补码为 01101,
十进制数-13的5位二进制补码为10011,
因为-7-13=-7+(-13),所以化减为加,算式如下
11001
+10011
----------
1 01100
前面的那个1是进位。这个结果出问题了,是因为结果溢出了,也就是超出了5位补码数表示的范围-16~15。本来结果是-20,超出了范围,表示不了了,就溢出了,就出问题了。
进一步,如果增加位数就可以扩大表示范围,对于6位补码数,101100表示的就是-20,这个结果就正确了。
如果还有问题,请继续提问,如果没有问题了,请采纳,谢谢!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询