二进制和比特

时间:2014-03-29 09:17:03

标签: binary

这是我遇到过的一个问题:

假设每个X代表一位,0或1.考虑8位无符号二进制数A = 1XXX XXXX和B = 0XXX XXXX。以下哪项是正确的(您可以勾选多个答案): A B>一个 B A> 127 C无法判断哪一个A或B更大 D B< 127 E A>乙

需要解释(0了解这一点)。谢谢!

1 个答案:

答案 0 :(得分:0)

答案的关键在于无符号。这意味着MSB(最左边的位)不用于指示结果符号。处理器执行数学运算,例如使用二进制补码对数字进行加,减和比较,这意味着要知道二进制字的数值是什么,我们必须知道它是否有符号(可以包含负值)还是无符号(仅限正数) )。

因此,在上述情况下,值是无符号的,这意味着A总是大于B,并且A的8位值的MSB设置为1,因此必须至少为128。 以同样的方式,我们以10为单位计算二进制工作,以2为单位: 二进制 128 64 32 16 8 4 2 1 十进制 1000 100 10 1

然而,如果二进制值被签名,则最左边的位将用于表示positve(0)或负数(1),当为负时,我们需要反转该值并添加一个以返回(负)结果。