计算机为什么要引入反码和补码

 我来答
况颖卿濮卯
2020-04-05 · TA获得超过3.5万个赞
知道大有可为答主
回答量:1.3万
采纳率:33%
帮助的人:779万
展开全部
反码就是给出一组二进制数,把0换成1,1换成0,如:11001的反码是00110。正数的补码就是那个正数的本身,如11001的补码还是11001,负数的补码是先将该数取反,然后加1,如-11001的原码是111001,第一个1是表示负数,它的补码就是把第一个1后面的所有的数取反后加1,结果为100111。希望能明白!
做而论道
高能答主

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

计算机中,只有补码,并没有原码和反码。

借助于补码,负数和减法,都可以转化成加法来进行运算。

那么,计算机的硬件,就可以简化了。

因此,在计算机中,只有加法器,并没有减法器。

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

补码是怎么回事? 这得从“补数”谈起。

计算机所能计算的位数,是固定的,如八位机、16 位。。。

位数限定之后,就可以用“补数”代替负数,用加法实现减法运算。

如限定两位十进制,-1,就可以用 +99 代替。

   25 - 1 = 24

   25 + 99 = (一百) 24

舍弃进位,只取两位,这两种算法功能就完全相同。

99,就是-1 的补数。 计算公式:补数 = 一百+负数。

一百,是两位十进制数的计数周期。

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

计算机用二进制,补数,就改称为:补码。

八位二进制:0000 0000 ~ 1111 1111 (十进制 255)。

计数周期是:2^8 = 256。

求负数补码的计算公式,也是: 周期 + 该负数。

-1 补码就是:256 + (-1) = 255 = 1111 1111(二进制)。

用不存在的“原码反码取反加一”来求,也是这个结果。

正数,不用转换。 也可以说,正数自身就是补码。

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

举例说明,如: 5 - 7 = -2。

用补码计算的过程如下:

    5 的补码=0000 0101

    -7的补码=1111 1001

--相加-------------

   得   (1)  1111 1110 = -2 的补码

舍弃进位,只保留八位,这就实现了 5-7。

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

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式