负数的补码怎么变回原码?

 我来答
爱聊生活工具人
高能答主

2021-12-12 · 工具人爱聊生活,专注于分享生活
爱聊生活工具人
采纳数:701 获赞数:10689

向TA提问 私信TA
展开全部

只需对其各位取反加一即可得到原码。

从数学角度回答,假定在32位机器上。

设某负数X,则X+X(反)= 0xFFFFFFFF。

所以X+X(反)+1 = 0,可以得出 0 - X = X(反)+ 1。

这里 0 - X即定义为负数X的补码,这样,计算机在进行X-Y运算时实际可用X+Y(补)代替,硬件角度只需实现加法电路即可。

同样的道理,0-X(补)=X(补)(反)+1 = X,即已知负数补码只需对其各位取反加一即可得到原码。

补码的意义

补码“模”概念的引入、负数补码的实质、以及补码和真值之间的关系所揭示的补码符号位所具有的数学特征,无不体现了补码在计算机中表示数值型数据的优势,和原码、反码等相比可表现在如下方面:

1、解决了符号的表示的问题。

2、可以将减法运算转化为补码的加法运算来实现,克服了原码加减法运算繁杂的弊端,可有效简化运算器的设计。

3、在计算机中,利用电子器件的特点实现补码和真值、原码之间的相互转换,非常容易。

4、补码表示统一了符号位和数值位,使得符号位可以和数值位一起直接参与运算,这也为后面设计乘法器除法器等运算器件提供了极大的方便。

总之,补码概念的引入和当时运算器设计的背景不无关系,从设计者角度,既要考虑表示的数的类型(小数、整数、实数和复数)、数值范围和精确度,又要考虑数据存储和处理所需要的硬件代价。因此,使用补码来表示机器数并得到广泛的应用,也就不难理解了。

731314565
2022-01-03
知道答主
回答量:33
采纳率:0%
帮助的人:10.7万
展开全部
首先说一下,负数的补码是从反码+1得到的,所以呢,补码想转回原码,就得再减回去。举个例子:
-5的原码是: 1000 0101
-5的反码是: 1111 1010
-5的补码是: 1111 1011 //因为这里加1,所以是这个结果
很明显逆回去就是: 1111 1011 要先减1,结果为: 1111 1010 这就得到反码了
接下来再反回去不就是原码了吗? 即 1111 1010 符号不变,数值位按位取反,得到:
1000 0101 刚好就是-5的原码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
沙里波特
2022-01-22 · TA获得超过5250个赞
知道大有可为答主
回答量:1.1万
采纳率:95%
帮助的人:637万
展开全部
由补码求原码如何求?
这个,不好说。

补码、原码,并非是一一对应的。
比如,-128 具有补码 1000 0000。
但是,-128 并没有八位的原码。
这就,没法求了,谁也求不出来。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
做而论道
高能答主

2022-06-12 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3万
采纳率:80%
帮助的人:1.2亿
展开全部
补码变回原码,就反其道而行之吧。
其实,把补码变回原码,并没有什么意义。
实际上,都是把补码变回真值。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式