补码为10000000B的二进制数,它所代表的十进制数的值是多少?

2025-04-04 13:47:00
推荐回答(2个)
回答1:

当码长是八位时,

补码为 1000 0000,其代表的数值是:-128。

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

求补码,通常是说:先求原码,再“取反加一”。

但是,八位的原码,只能表示:-127 ~ +127。

其实,从这里一开始,就是错误的。

因为,天下只有一个零,原码中,却编造了两个码!(+0-0)

那么,用“”求-0 和-128 的补码,这就很尴尬了。

求-0 的补码,可求得:0000 0000。

   符号位是 0 ? -0 是正数吗?

求-128 的补码,更是无处下嘴。

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

其实,求补码,并不需要“取反加一”。

书上,也是有计算公式的:

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

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

那么,[-128]补 = -128 + 2^8 = 1000 0000。

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

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

按照公式求补码,是极为简便的,而且还能理解补码的意义。

那么,就不要学“原码反码取反加一符号位不变”了。

只有那些数学不好的老外,才需要弄这些“隔路”的花样。

回答2:

如果它是8位补码的话,
它所代表的十进制数的值是-128。