-128的补码应该如何计算?

如果-128的原码是10000000的话,那么反码就是11111111,那补码+1进位的话不是多了一位吗?... 如果-128的原码是10000000的话,那么反码就是11111111,那补码+1进位的话不是多了一位吗? 展开
 我来答
mr3n
推荐于2017-09-02 · TA获得超过106个赞
知道小有建树答主
回答量:172
采纳率:0%
帮助的人:141万
展开全部
原码是10000000
反码是01111111
补码是10000000
--------------------
补码第一位是1,则数值为负
对补码取反加1,为10000000,则数值绝对值为2^7=128,
所以补码为10000000表示的为-128
做而论道
高能答主

2023-02-23 · 把复杂的事情简单说给你听
知道大有可为答主
回答量:3.2万
采纳率:86%
帮助的人:8798万
展开全部

在码长 8 位时,原码和反码的表示范围都是:-127 ~ +127。

都不能表示-128。

所以,-128 并没有 8 位的原码和反码。

那么,用“取反加一”求补码,在这就“Duang”的碰壁了。

求-128 的补码,就必须得使用“补码定义式”:

 [-128 ]补码 = -128 + 2^8

       = 128

       = 1000 0000 (二进制)。

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

用定义式来求补码,是通用的方法。

学习“符号位01原码反码取反加一符号位不变”,

不但求不出-128 的补码,而且,也不会理解补码的意义。

那么,为什么各本计算机的教材,都要介绍这一滩垃圾呢?

讲这些,可以增加计算机老师的收入。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
创作者OaeTGvj7BT
2019-04-14 · TA获得超过3679个赞
知道大有可为答主
回答量:3097
采纳率:34%
帮助的人:189万
展开全部
负数的补码是它的原码取反再加一
-128的原码就是他的绝对值128的二进制表达
10000000
取反就是
01111111
再加一
就是
10000000

虽然-128与正128的补码是一样的
但这只是特例
并不是所有负数的补码都和他的绝对值的补码一样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式