Binary 一个';二进制中的s-Two与8位有符号幅值互补

Binary 一个';二进制中的s-Two与8位有符号幅值互补,binary,signed,Binary,Signed,这是我教科书中的一个问题,我们还没有找到答案,但我对这一切是如何运作的很感兴趣 在这里的第一点,我对一的补码的理解是你翻转,所以在这里有1你放0,0你放1。这必须是8位,所以我在开始时给二进制文件加了一个零 特雷弗01001 记下+73的以下二进制表示形式: 8-bit unsigned: 01001001 8-bit signed-magnitude: 01001001 8-bit one's complement: 10110110 8-bit two's complement: 10110

这是我教科书中的一个问题,我们还没有找到答案,但我对这一切是如何运作的很感兴趣

在这里的第一点,我对一的补码的理解是你翻转,所以在这里有1你放0,0你放1。这必须是8位,所以我在开始时给二进制文件加了一个零 特雷弗01001 记下+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
这些是我想出的答案,但我相当肯定我做得不对。对此有何澄清

第二,我怎么用负数so-73来做呢,二进制数是-01001001,所以我假设这是有符号的,你用和上面一样的方法做吗(假设我得到的是正确的)


提前感谢您在除excess-128之外的所有陈述中提供的帮助

+73 is 01001001。超过-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,得到-n,你翻转所有的位

“翻转所有位并加1”是对2的补码中的数字求反的方法

一的补码和二的补码都有一个奇数。对于一个补码,它是-0(所有位集),它实际上与0相同——或者你可以将它视为无效的,特殊情况下为0求反。对于2的补码,这是-2^(n-1)--128表示8位,这是一个由于溢出而对自身求反的数字

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