补码二进制计算机为什么要用补码存储整型,关于

 我来答
做而论道
高能答主

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

补码的功能,类似于:

  时针倒拨 3 小时,与正拨 9 小时,效果相同。

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

同时,减法运算,也就可以用加法代替了。

那么,借助于补码,在计算机中,就没有负数了,也没有了减法运算。

由此就可以简化算法,从而简化计算机的硬件。

十进制比较容易理解:

  25 - 1 = 24

  25 + 99 = (一百) 24。

只要忽略进位,+99 就能代替-1。

+99 就称为-1 的补数。

在这里用了 2 位 10 进制。

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

通用的公式是:补数 = 负数 + 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

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

借助于补码,负数就没有了,从而就把“减法转换为加法运算”。

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

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

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

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

从“原码取反加一”开始学习补码,就弄不清楚“为什么用补码”。

可轩163
2017-04-15 · TA获得超过1.3万个赞
知道大有可为答主
回答量:4824
采纳率:88%
帮助的人:1786万
展开全部
为了便于硬件逻辑电路的实现(高电平表示1,低电平表示0)
计算机中的数值用机器数来表示及运算,而这个数本身称作真值。
机器数包括:原码、反码、补码、……
.
机器数用补码表示的好处:
原码简单,适用于乘除运算,但用原码表示的数进行加减法运算比较复杂。
补码,减法运算可以用加法来实现,例如 [X-Y]补 = [X]补 +[-Y]补,
补码的符号位也可以参与运算,便于运算结果的正负及是否溢出判断。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式