-128的二进制补码是怎么得来的?

 我来答
惠企百科
2022-12-14 · 百度认证:北京惠企网络技术有限公司官方账号
惠企百科
惠企百科网是一家科普类综合网站,关注热门中文知识,集聚互联网精华中文知识,本着自由开放、分享价值的基本原则,向广大网友提供专业的中文知识平台。
向TA提问
展开全部

补码10000000唯一的表示-128是一个规定,不需要推算,理由如下:

现在来推-128的补码:

-128的补码:10000000-10000000(+128没有符号位)=10000000

-128的反码:11111111(10000000+1=10000000+11111111=11111111)

-128的原码:10000000(反码取反)

往回推:

-128的原码10000000(-128,进位被舍去)

-128的反码11111111

-128的补码10000000(11111111(反码)+1=10000000,这里实际上真正相加的是11111111后面的7位,第1位是符号位始终不会变,所以,当进到第8位的时候,就表示溢出了,会被舍弃。0只有一个补码00000000,如果是这样,那么10000000就不会表示成-0的补码

即:补码10000000唯一的表示-128,在补码中用(-128)代替了(-0),所以补码的表示范围为:(-128~0~127)共256个.

注意:(-128)也有相对应的原码和反码,它的反码是(11111111)原码仍然是(10000000)(-128)

扩展资料:

负数的补码就是对反码加1,而正数不变,正数的原码反码补码是一样的。

补码的得来:是为了让负数变成能够加的正数,所以,负数的补码=模-负数的绝对值。

比如:-1补码:11111111(00000001,也就是-1的绝对值,取反加1得来)当一个数要减1的时候,可以直接加11111111。

沙里波特
2024-08-09 · TA获得超过5248个赞
知道大有可为答主
回答量:1.1万
采纳率:95%
帮助的人:631万
展开全部

所谓的补码,只不过是个【障眼法】而已。

也不仅是二进制用补码运算,任何进制,都有“补码”的。

你看十进制,两位数是:0 ~ 99。

可以有:27 + 99 = (一百) 26

也可以:27 - 1 = 26

如果你忽略进位,依然保持两位数,那么:

--正数,就能当负数来用;

--加法,也就能完成减法运算。

如果在计算机舍弃进位,会怎样?

--计算机中,就全是正数了。

--负数没有了,减法运算也没有了。

--减法器,也没有了用武之地。

--计算机只需配置一个加法器,便可横行天下!

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

看到了吗?

--只有你舍弃了进位,正数才能代替负数!

--补码,并不是来自取反加一!

【舍弃进位】,才是补码的来源和存在意义。

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

两位十进制时,舍弃进位,就是减去一百 (10^2)。

那么,加上 99,再减去 100,必然就是“-1 ”!

------

八位二进制数则是:0000 0000 ~ 1111 1111。

换算到十进制,即:0 ~ 255。

出现了进位,就是:2^8 = 256。

------

那么,加上 255 (1111 1111),再减 256,不也是-1 吗?

同理:254 (1111 1110),就能代替-2。

。。。

最后:128 (1000 0000),就是代表-128 的。

这些正数,就是计算机专家 “发明” 的补码。

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

其实,补码,不需要发明!

所谓的补码,不过就是小学的知识点。

计算机专家,却弄不明白这个。

于是,就编造了一批垃圾:

--机器数真值原码反码取反加一符号位不变、符号位也参加运算...

谁要是跟老外学算术,立刻、马上,直接就掉到沟里去了!

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

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式