用5位0,1表示一个二进制数,1位为符号位,其他4位为数值位。-7-13,采用补码,则运算式和结果

 我来答
匿名用户
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,这个结果就正确了。

 

如果还有问题,请继续提问,如果没有问题了,请采纳,谢谢!

风若远去何人留
2016-10-24 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450134
专业C/C++软件开发

向TA提问 私信TA
展开全部
第一个
7的原码 0111
反码 1000
补码 1001
于是表达为
11001

第二个
13的原码 1101
反码 0010
补码 0011
表达为
10011
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式