补码10000000原码是多少

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

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

八位补码 10000000,代表的数值是:-128。

-128,有八位的补码,并没有八位的原码和反码

因为,原码和反码的定义,都是有缺陷的:

 一个数字零,它们却都定义了两个编码 +0-0!

所以,八位的原码反码,只能表示-127 ~ +127。

所以,八位的原码反码,都无法表示-128。

因此,用“取反加一”求-0 或-128 的补码,都是行不通的。

同样,用“取反加一”求补码 1000 0000 对应的原码,也是不灵的。

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

求补码的正规做法,是使用定义式:

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

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

这个定义式,是通用的。你可以在书上找到的。

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

所以,八位的补码 1000 0000,就是代表数值-128。

但宁洛雨
2020-05-29 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.4万
采纳率:33%
帮助的人:903万
展开全部
无法用8位的源码表示
这个数的真值是
-2^7
源码的表示范围是
-(2^7
-
1)到
2^7
-
1
补码的表示范围是
-2^7

2^7
-
1
补码要多出一个数,而这个数就是你问的10000000
在源码里面00000000和100000000都是表示0
这样比较浪费,在补码里面,就把100000000当做
-2^7
,以扩大补码表示范围
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
金豆清云溪
2020-04-02 · TA获得超过4075个赞
知道大有可为答主
回答量:3129
采纳率:28%
帮助的人:207万
展开全部
8位补码10000000B的原码无法表示!
按照原码定义,8位原码所表示真值的范围为:
-127(11111111B)

+127(01111111B)。补码10000000B的真值为-128,超出了8位原码的表示范围,所以无法用8位原码表示。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
家居点睛
2020-02-10 · TA获得超过3765个赞
知道大有可为答主
回答量:3013
采纳率:27%
帮助的人:423万
展开全部
8位字长模
=2^8
=1
0000
0000b

[x]补
=1000
0000b,

x
=[x]补
-模
=1000
0000b
-1
0000
0000b
=
-1000
0000b
=
-128d
8位字长有符号整数的反码及原码表示的真值范围:+127d
~+127d
-128d不能用8位反码或原码表示
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
伊乔司元柳
2019-03-30 · TA获得超过3750个赞
知道小有建树答主
回答量:3118
采纳率:26%
帮助的人:260万
展开全部
无法用原码表示,按照原码定义,8位原码所表示真值的范围为:-127(11111111B)~+127(01111111B)。补码10000000B的真值为-128,超出了8位原码的表示范围,所以无法用8位原码表示。
数0的补码表示是唯一的。
[+0]补=[+0]反=[+0]原=00000000;
[-0]补=11111111+1=00000000。
扩展资料:
已知一个数的补码,求原码的操作其实就是对该补码再求补码:
1、如果补码的符号位为“0”,表示是一个正数,其原码就是补码。
2、如果补码的符号位为“1”,表示是一个负数,那么求给定的这个补码的补码就是要求的原码。
例:已知一个补码为11111001,则原码是10000111。
因为符号位为“1”,表示是一个负数,所以该位不变,仍为“1”。
其余七位1111001取反后为0000110;再加1,所以是10000111。
参考资料:
百度百科-补码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式