-128的补码是多少 详解

 我来答
沙里波特
2019-11-14 · TA获得超过5726个赞
知道大有可为答主
回答量:1.1万
采纳率:96%
帮助的人:808万
展开全部

什么是补码?怎么求补码?

看看书,就会知道,补码,是有严格定义的。

按照定义来求补码,就用不着涉及原码反码。

如果,你非要用求反加一的做法,就难免碰上原码反码。

但是,的八位码长的限制下,-128,既没有原码,也没有反码。

这时,你还要用求反加一的做法,就一定会碰的头破血流。

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

按照补码的定义,负数的补码,定义如下:

[X]补 = 模-| X |

按照定义,-128,如下求补码。

[-128]补 = 256-|-128| = 128

写成二进制,就是:1000 0000。

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

这就是详解。

简不简单? 意不意外?

是不是比“求反加一”更方便?

可以参考:网页链接

看到上一篇答案,后面有许多人留言评论。

呵呵,多数人,都是推崇“求反加一”的。

你们这些人,都是被人忽悠瘸了。

如此简单的定义、方法,你们不学、不用,

偏要去钻死胡同,呵呵

使用求反加一!!!

你们能找到-128 的原码、反码吗?

贝菱
2025-09-11 广告
咨询电话:15608369179,上海贝菱化工科技有限公司成立以来致力于石油化工、煤化工、精细化工领域内催化、吸附材料的研发与服务。公司主营业务为美国罗门哈斯公司离子交换树脂、有机膜(原陶氏化学反渗透、钠滤、超滤膜),分子筛类吸附剂,金属催... 点击进入详情页
本回答由贝菱提供
老冯文库
推荐于2018-03-15 · 知道合伙人软件行家
老冯文库
知道合伙人软件行家
采纳数:1139 获赞数:8737

向TA提问 私信TA
展开全部
128 =1000 0000,8位机器
[-128]原码 = 1000 0000 发生了溢出,最高位表示符号位:0为正数,1为负数
[-128]反码 = 1111 1111 除符号位外,各位取反
[-128]补码 = 1000 0000 反码的末位加1,不能影响符号位
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
laotulaotulaot
2012-09-13 · TA获得超过3283个赞
知道大有可为答主
回答量:2586
采纳率:50%
帮助的人:2452万
展开全部
楼主你的先说,是多少位的数
是什么码 原码补码余127码,很多

实际上8位的2进制数里用负零 -0来表示-128的,你想想,取反+1,就是补码
-127=11111111 -1+127=10000000 符号位不变,进位溢出了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
做而论道
高能答主

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

求补码,有【通用的定义式】。 也有简易操作的“取反加一”。

“取反加一”的方法流传太广,以至于取代了定义式的主要地位。

其实,原码、反码、符号位、取反加一,这些,是一个不完善的方法。

因为“取反加一”有缺陷,所以,“如何求-128 补码”就是一个难题。

“取反加一”其根本的弊病在于:

  世界上,只有一个零,但是原码反码,都设定了两个编码,这就乱套了。

此时,八位原码反码的表示范围,只能是:-127~+127。

  但是,八位补码,却要表示-128!

  -128 没有原码反码,“取反加一”从何处下手?

很多人,都没有学到【补码的定义式】,所以,就不会求了。

另外,[-0]补码=0000 0000,也是难以解释的。

  -0,符号位不应该是 1 吗?

  难道,-0 是正数?

有人辩解说,0 只有一个补码,没有+0、-0 之分。

  一个补码,是谁规定的?

  原码反码,又为什么要弄两个编码?

  [-0]反码 + 1,是不是补码?

“取反加一”,就是一大篇自相矛盾的谬论。

用【补码的定义式】求补码,就什么毛病都没有了。

但是,弄的太简单了,就无法体现出计算机老师的水平高了。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友21ac4b0bbb
2018-03-15
知道答主
回答量:2
采纳率:0%
帮助的人:1945
引用developer_05的回答:
128 =1000 0000,8位机器
[-128]原码 = 1000 0000 发生了溢出,最高位表示符号位:0为正数,1为负数
[-128]反码 = 1111 1111 除符号位外,各位取反
[-128]补码 = 1000 0000 反码的末位加1,不能影响符号位
展开全部
这个根本就不对,根本就不能用取反再加一的方式来求-128的补码。对于8位带符号数,原码和反码的表示范围都是-127~+127。也就是说对于8位的二进制数,根本就没有-128的原码、反码这一说。
-128的补码可以这么来理解:补码是一种循环计数系统,类似于钟表,比方说实际时间为7点,时针错误的停在11点上,怎么调整呢?两种方式,一是逆时针转4,即11-4=7;二是顺时针转8,即11+8=11+(-4+12)=12(自动舍掉)+7=7。模就是循环计数系统中所表示的最大数。所以(-4)与(+8)对模12互为补数,同余数。
对于8位二进制数,模为256。随便举个例子(-6)和(250)对模256互为补数,同余数。也就是说-6的补码就是250的二进制形式,即1111 1010。
那我们就可以得出(-128)和(+128)对模256互为补数了,也就是-128的补码就是128的二进制形式1000 0000。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式