Binary 如何使用2'表示有符号的数字;补语
表示有符号数字的一种方法是使用符号位 另一种方法是使用Binary 如何使用2'表示有符号的数字;补语,binary,Binary,表示有符号数字的一种方法是使用符号位 另一种方法是使用2的补码?我说得对吗 如果是, 考虑数字8。等价二进制是0000 1000 然后根据2的补码法 我们将反转位,使0000 1000变为1111011 2.添加一个,使11110111变为1111000. 使用1111 1000。它们是如何表示符号位的?在2的补码中,最高有效位表示负值。因此,对于8位数字,每个位的十进制等效值为: -128 64 32 16 8 4 2 1 因此,11111000个和等于-8。符号位将是最左边的一个:0-正,1
2的补码
?我说得对吗
如果是,
考虑数字8。等价二进制是0000 1000
然后根据2的补码法
0000 1000
变为1111011
2.添加一个,使11110111
变为1111000.
使用
1111 1000。
它们是如何表示符号位的?在2的补码中,最高有效位表示负值。因此,对于8位数字,每个位的十进制等效值为:
-128 64 32 16 8 4 2 1
因此,11111000个和等于-8。符号位将是最左边的一个:0-正,1-负。另一种方法是(假设为8位数字):
所以,当你使用2的补码时,你实际上有不同数量的“符号位”,在这个例子中,你有4个
更新:
上面写错了,上面写的是“最左边的”,应该是“最右边的”假设我们刚刚给出了一个二进制1111 0001。您将如何在有符号数和震级数之间进行分类。i、 e,有多少个msb用于签名bit@Vinoth是的,我在上面的回答中弄错了,2的补码是:从右到左复制到第一个1,包括第一个1,然后把所有的东西都反转到左边。不管怎样,当你在2的补码中工作时,你总是可以把MSB看成是一个符号位。@ GPEGE“不同的”符号位“,”,符号位的变化数将是固定的。或者数量不同number@Vinoth如果你只想知道这个数字是正数还是负数,你可以只看最重要的位,就像1的补码2的补码符号位不被使用一样。所以在2的补码末尾我们得到11111000。我们要在这里使用msb来查找符号。我的困惑是,所有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