二进制数:两个补码

时间:2015-06-17 18:40:35

标签: binary numbers

我已经做了一个练习,但我不确定是否感谢帮助我:

11001011,共8位二进制数字。

问题:

  • 用两个补码签名的代表是什么? 我不是,我已经做到了这个
我反向:00110100, + 1:00110101

  • 如果用二进制补码表示,那么绝对值的表示是什么?

也许仍然是00110101

1 个答案:

答案 0 :(得分:0)

在二进制补码表示中,正数仅表示为自身,负数表示为绝对值的二进制补码。

在二进制补码表示中,如果(并且仅当)设置了最高位,则数字为负。

因此,如果要获得绝对值,只有在设置了最高位时才能反转双补码运算。

实施例

例如,使用8位,数字5表示为

00000101

最高位为0,因此它表示正数。要以二进制补码表示法将其转换为-5,请将其反转并添加1:

~00000101 + 1 = 11111010 + 1 = 11111011

要获取其绝对值,请检查是否设置了最高位(它是),并撤消二进制补码操作,即减1并反转位:

~(11111011 - 1) = ~11111010 = 00000101 = 5

如果最高位为0,那么它是一个正数,它已经是它的绝对值。