负数的补码是什么?

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

2025-03-29 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3.1万
采纳率:83%
帮助的人:8515万
展开全部

为了简化硬件、节约成本,在计算机中,仅仅安装了加法器,省略了减法器。 因此,减法运算,也必须用加法器来完成。

用加法代替减法,并不难,只需“舍弃进位”就行了。

你看两位十进制的加法:27 + 99 = (一百) 26。

如果你弄丢了进位,就成了减法:27-1 = 26。

丢了进位,就是减去了 100,再加上 99,也就是:-1 !

因为 1 + 99 = 100,所以,1、99,就是“互为补数”。

利用补数,就可以:用正数代替负数、用加法代替减法运算!

你如果上过小学,就会知道:补数 = 10^n + 负数。

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

二进制的补数,就称为“补码”。

于是有:补码 = 2^n + 负数。

而正数,直接就可以做加法运算,不必变换。所以,正数也就不存在补码。

而计算机专业老师,基本概念不清,故意搅混水,就说:正数本身就是补码!

例如:-31 的八位补码是多少?

求解: 2^8 -31 = 225 = 1110 0001 (二进制补码)。 完事!

所谓的“符号位原码反码取反加一符号位不变符号位也参加运算模 ... ”,根本就用不着。这些,不过就是“忽悠”而已!

正负数与其八位补码,对照如下:

16 位二进制数,可表示十进制数的范围,则是:-32768 ~ +32767。

沙里波特
2022-11-12 · TA获得超过5589个赞
知道大有可为答主
回答量:1.1万
采纳率:96%
帮助的人:711万
展开全部

正数的补码,是其本身。

负数的补码,就用它的正数,减一取反,即可得到补码。

如,+9 的二进制是:0000 1001。

下面求-9 的补码:

先减一:0000 1001 - 1 = 0000 1000;

再取反:1111 0111。

所以有:-9 补码 = 1111 0111。

简不简单?意不意外?

原码反码符号位,都是毫无用处的,不必关心。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友27e2de0
2022-11-25
知道答主
回答量:3
采纳率:0%
帮助的人:952
展开全部
正整数的补码是其二进制表示,与原码相同
例:+9的补码是00001001。(备注:这个+9的补码是用8位2进制来表示的,补码表示方式很多,还有16位二进制补码表示形式,以及32位二进制补码表示形式,64位进制补码表示形式等。每一种补码表示形式都只能表示有限的数字。)
负整数的补码,将其原码除符号位外的所有位取反(0变1,1变0,符号位为1不变)后加1
同一个数字在不同的补码表示形式中是不同的。比如-15的补码,在8位二进制中是11110001,然而在16位二进制补码表示中,就是1111111111110001。以下都使用8位2进制来表示。
例:求-5的补码。
-5对应带符号位负数5(10000101)→除符号位外所有位取反(11111010)→加 00000001为 (11111011)
所以-5的补码是11111011。
0的补码表示是唯一的
[+0]补=[+0]反=[+0]原=00000000
[ -0]补=11111111+1=00000000
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式