我已经做了一个练习,但我不确定是否感谢帮助我:
11001011,共8位二进制数字。
问题:
也许仍然是00110101
答案 0 :(得分:0)
在二进制补码表示中,正数仅表示为自身,负数表示为绝对值的二进制补码。
在二进制补码表示中,如果(并且仅当)设置了最高位,则数字为负。
因此,如果要获得绝对值,只有在设置了最高位时才能反转双补码运算。
例如,使用8位,数字5表示为
00000101
最高位为0,因此它表示正数。要以二进制补码表示法将其转换为-5,请将其反转并添加1:
~00000101 + 1 = 11111010 + 1 = 11111011
要获取其绝对值,请检查是否设置了最高位(它是),并撤消二进制补码操作,即减1并反转位:
~(11111011 - 1) = ~11111010 = 00000101 = 5
如果最高位为0,那么它是一个正数,它已经是它的绝对值。