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

如题所述

当码长是八位时,

补码为 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。

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

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

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

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

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-12-04
如果它是8位补码的话,
它所代表的十进制数的值是-128。追答

补码的首位为0,表示是正数;首位为1,表示是负数。

补码表示是唯一的,没有“二义性”。

单字节补码的表示范围为:-128~+127

本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网