二进制的一个二进制补码8位有符号幅度

时间:2013-03-01 06:40:22

标签: binary signed

所以这是我教科书中的一个问题,我们还没到那里,但我对这一切都有用感兴趣,

对于这里的第一位,我对一个补码的理解是你翻转所以有1个你放0和0你放的。这必须是8位,所以我在开始时为二进制加零 有01001001 记下以下二进制表示+73:

8-bit unsigned: 01001001
8-bit signed-magnitude: 01001001
8-bit one's complement: 10110110
8-bit two's complement: 10110111
8-bit excess-128: 10110111

这些是我提出的答案,但我很确定我做错了。对此有何澄清?

其次,我是如何用负面的-73做的,二进制只是-01001001所以我认为这是签名的,你做的技术与上面相同(假设我已经正确)< / p>

8-bit signed-magnitude: -01001001
8-bit one's complement: 
8-bit two's complement: 
8-bit excess-128: 

提前感谢您提供任何帮助

1 个答案:

答案 0 :(得分:1)

+73在您命名为的所有表示中都是01001001,除了 excess-128。超过128的11001001(增加128)。符号幅度,一个补码和二进制补码对于正数都是相同的,只有负数不同。这些表示中的-73值为:

8-bit sign magnitude   11001001
8-bit one's complement 10110110
8-bit two's complement 10110111
8-bit excess-128       00110111

一个补码'翻转所有位'是你如何否定一个补码表示法中的数字。所以如果你有n,那么你可以翻转所有的位。

'翻转所有位并加1'是你如何否定2的补码中的数字。

一个补码和两个补码都有一个奇数值。对于一个补码,即-0(所有位设置),它实际上与0相同 - 或者你可以将其视为无效和特殊情况否定0.对于二进制补码,那是-2 ^(n-1) - - 128位用于8位 - 这是一个因溢出而自行否定的数字。