为什么要使用原码 反码 补码

 我来答
纳艺类丽泽
2019-10-10 · TA获得超过3878个赞
知道小有建树答主
回答量:3128
采纳率:26%
帮助的人:446万
展开全部
原码、反码、补码,是机器数。
计算机内部的硬件电路较易实现用1(高电平)、0(低电平)表示数据的正、负,通常这个符号放在二进制数的最高位,称符号位。符号位与数值位共同参预运算。
机器数的记忆及运算,利于计算机硬件逻辑电路的设计与制造。
上海巴鲁图工程机械科技有限公司_
2022-05-15 广告
光电编码器,是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器。光电编码器每转输出60(我们用老板没有说)个脉冲,五线制。其中两根为电源线,三根为脉冲线(A相、B相、Z)。电源的工作电压为 (+5~+24V)直流电源。光... 点击进入详情页
本回答由上海巴鲁图工程机械科技有限公司_提供
做而论道
高能答主

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

补码的功能,类似于:

  时针,倒拨 3 小时,可以用正拨 9 小时代替。

利用这种思路,计算机中的负数,也可以用正数(即补码)代替。

于是,计算机中,就没有负数了。

同时,减法运算,也都不存在了。

因此,借助于补码,就能统一加减法,从而简化计算机的硬件。

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

用十进制来说明比较容易理解:

  25 - 1 = 24

  25 + 99 = (一百) 24。

只要忽略进位,仅保留 2 位数,+99 就能代替-1。

同理,+98 也可以代替-2。

。。。

这些正数,就是“负数的补数”。

求补数的算法:补数 = 负数 + 10^2。

通用的公式是:补数 = 负数 + 10^n。

       n 是补数的位数。

       10^n 是 n 位数的计数周期。

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

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

一个字节,是 8 位 2 进制。

计数范围是:0000 0000~1111 1111 (十进制 255)。

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

求负数补码的算法:补码 = 负数 + 2^n。

那么:

-1 的补码 = -1 + 256 = 255 = 1111 1111。

-2 的补码 = -2 + 256 = 254 = 1111 1110。

。。。

正数,则必须直接参加运算,不许作任何变换。

因此,正数,它就没有补码。

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

例如,7-2 = 5,用补码计算如下:

      7 = 0000 0111

   [-2] 补 = 1111 1110

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

  得: (1)   0000 0101  = 5

舍弃进位,结果就完全正确。

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

用补码(正数)替代负数,就能把“减法转换为加法运算”。

原码和反码,都没有这种功能。所以,计算机,并不使用它们。

实际上,原码和反码,它们根本就不存在。

补码的来源,与原码反码也毫无关系。

“原码反码取反加一、符号位也能参加运算”...

这些,都没有什么理论依据。

从“取反加一”来学习补码,就弄不清楚“为什么会引入补码”。

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

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式