已知一补码为10000101 则其真值为多少?请问为什么是-1111010 而不是-1111011

 我来答
青柠姑娘17
2022-07-09 · TA获得超过1.2万个赞
知道大有可为答主
回答量:6462
采纳率:100%
帮助的人:36.3万
展开全部
首先 符号位为1 则该数为负数
负数的补码:
其原码的符号位不变,数值部分的各位取反,然后整个数加1

10000101->10000100->11111011
其原码为 1111011
所以 -1111010是错误的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
做而论道
高能答主

2022-08-20 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.1亿
展开全部

求补码对应的真值,直接转换就可以,不用绕到原码反码。

----------------------------

补码是 1000 0000:-128 + 0 = -128。

补码是 1000 0101:-128 + 4 + 1 = -123。

补码是 0000 0101:  4 + 1 = +5。

9350H = 1001 0011 0101 0000:

 -32768 + 4096 + 512 + 256 + 64 + 16 =-27824。

CF42H = 1100 1111 0100 0010:

 -32768 + 16384 + 2048 + 1024 + 512 + 256 + 64 + 2 

 =-12478。

----------------------------

记住:首位 1,既是负号,也是数值。

所以:它就是一个“负值”。

然后,各位求和,就可以了。

就这么简单!

补码和真值,可以直接互相转换。和原码反码,没有任何关系。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式