表示有符号数字的一种方法是使用符号位。
另一种方法是使用2's Complement
?我是对的吗?
如果是,
考虑数字8.等价二进制是0000 1000
然后根据2的补充方法。
0000 1000
变为1111 0111
2.添加一个,以便1111 0111
变为1111 1000.
1111 1000.
如何表示符号位?
答案 0 :(得分:0)
在2的补码中,最高有效位表示负值。因此对于8位数字,每位的十进制等值是:
-128 64 32 16 8 4 2 1
因此11111000总和为-8。
答案 1 :(得分:0)
“符号位”将是最左边的一个:0 - 正,1 - 负。另一种看待它的方法是(假设8位数字):
number 8 -> 1000
+8: fill from the leftmost 1 leftwards with sign bit 0 = positive -> 0000 1000
-8: fill from the leftmost 1 leftwards with sign bit 1 = negative -> 1111 1000
因此,当您使用2的补码时,实际上有不同数量的“符号位”,在该示例中,您有4个。
<强>更新强>:
上面说错了,它说“最左边”,它应该是“最右边”