所以这是我教科书中的一个问题,我们还没到那里,但我对这一切都有用感兴趣,
对于这里的第一位,我对一个补码的理解是你翻转所以有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:
提前感谢您提供任何帮助
答案 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位 - 这是一个因溢出而自行否定的数字。