-128的原码和补码都是一样吗?都是10000000?

 我来答
beingcool
推荐于2017-11-23 · TA获得超过472个赞
知道小有建树答主
回答量:115
采纳率:0%
帮助的人:191万
展开全部
的确都是10000000。

-128的原码是10000000。
反码是11111111。
补码是反码+1:依然是10000000。(因为加1进位了,但是只有8位,所以进位无法显示)。
沙里波特
2022-01-10 · TA获得超过5251个赞
知道大有可为答主
回答量:1.1万
采纳率:95%
帮助的人:646万
展开全部

-128 在八位二进制下,并没有原码和反码,只有补码。

而且,在计算机中,也只有补码,并没有原码和反码。

使用补码的意义在于:【把减法转换为加法】。

从而能够简化计算机的硬件。

计算机的位数是固定的,这就为补码的应用,提供了条件。

------

比如,限定,只用两位十进制 0~99,周期就是 100。

那么,减一,就可以用 +99 代替:

  24 - 1 = 23

  24 + 99 = (1) 23

只是保留两位数,忽略进位,结果就是相同的。

那么,99,就称为-1 的【补数】。

负数的补数的计算公式:100 + 负数。

------

计算机使用二进制,通常是指定为八位。

即,可以使用 0000 0000~1111 1111,共有 256 种。

对应的十进制,就是 0~255。周期是 256。

那么,减一,就可以用 +255 代替。

即:

-1 的补码是 1111 1111 (十进制 255)。

-2 的补码是 1111 1110 (十进制 254)。

-3 的补码是 1111 1101 (十进制 253)。

。。。依次减一,直到-128。。。

-128 的补码,1000 0000 ( = 128)。

。。。共有 128 个负数及其补码。。。

------

求负数补码的公式:【256+该负数】。

正数:直接运算即可,不需要任何转换。

------

补码是有用的。

原码反码,则是毫无用处的。

所以,计算机中,并没有原码和反码。

况且,-128 也没有八位的原码和反码!

原码反码,都是什么,不必关心!

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
潭恕怀申
2019-06-05 · TA获得超过3.6万个赞
知道小有建树答主
回答量:1.2万
采纳率:26%
帮助的人:846万
展开全部
原码表示法在数值前面增加了一位符号位,该位为0表示正数,该位为1表示负数。
正数的补码:与原码相同;负数的补码:符号位为1,其余位为该数绝对值的原码按位取反;然后整个数加1。
正数的补码的方法原本就是与负数不同的,自然不能用负数的方法来求。
0原码是00000000
-0原码是10000000
0反码是00000000
-0反码是11111111
0补码是00000000
补码没有正0与负0之分。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
做而论道
高能答主

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

八位的原码,可表示的范围是:-127 ~ +127。

八位的反码,可表示的范围是:-127 ~ +127。

八位的补码,可表示的范围是:-128 ~ +127。

即,-128 只有补码,并没有原码和反码。

对于-128,取反加一、减一取反,就都不能用了。

 

实际上,取反加一,并非是补码的定义式。

补码,有自己的定义式,和原码反码都没有关系。

 当 X >= 0,  [ X ]补 = X;     零和正数不用变换。

 当 X < 0,  [ X ]补 = X + 2^n。 n 是补码的位数。

那么,[-128]补 = -128 + 2^8 = 1000 0000 (二进制)。

-128 的八位原码和反码,就别想了。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
门心马x男
2018-03-12
知道答主
回答量:13
采纳率:0%
帮助的人:1.2万
展开全部
-128在8位二进制中没有原码和反码表示的,它是用补码1000 0000表示。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式