书上说,将一个负数的补码转换成真值时,也需要一个“取反加一”的过程,请问这是什么原理?

书上的例题【11100000】补=-(00011111+1)=-00100000=-2的五次方=-32... 书上的例题
【11100000】补 = -(00011111+1)=-00100000=-2的五次方=-32
展开
 我来答
White_MouseYBZ
2017-03-09 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6629万
展开全部
因为负数的补码可以用负数的原码“取反+1”得到,那么由补码求原码就理所当然地应该是“-1取反”了!可是,对于二进制,“-1取反”和“取反+1”效果是一样的(位数限制,溢出不计)。不信?你试试用“-1取反”同样能获得正确的补码——注意符号位不变。
做而论道
高能答主

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

由补码,求真值,不需要“取反加一”。

只要做【进 制 转 换】即可。

假如,八位补码是 1110 0000。

首位为 1,既代表负号,也代表数值-128。

其余位之和:64 + 32 = +96。

加在一起,就是真值:-128 + 96 = -32。

--------

若补码是 0110 0000。

首位是 0,这就没有-128 了。

其余位之和,就是真值:64 + 32 = +96。

==================

由真值,求补码,也不需要“取反加一”。

只要从左边,取反几位,至最后的 1,即可。

如:

真值-32 = -010 0000

其补码,是  11 10 0000

看到了吗?

只需写出符号位,再变化一位,就行了。





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

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式