二进制AND运算符

时间:2015-05-13 17:22:21

标签: python binary

A = 0b111 (7)

B = 0b1010 (10)

A & B = 0b10 (2)

第一个数字都是1,所以你得到1 然后你有1和0所以你得到0然后你又得到1和1。

但答案显然是0b10,因此出于某种原因被忽略了。 (以及B中的最后0)

有人可以向我解释为什么会这样吗?

1 个答案:

答案 0 :(得分:12)

您需要从至少有效位(右侧写入的位)开始,而不是最重要的位。 "第一" A的数字是0,而不是1;当你看起来位数太少时,你需要提供零。

    A = 0b0111
    B = 0b1010
A & B = 0b0010

就像常规小数一样,10 + 7 = 17,而不是80。