Skip to main content
 首页 » 编程设计

python之二元与运算符

2025年05月04日10pengyingh

A = 0b111 (7) 
 
B = 0b1010 (10) 
 
A & B = 0b10 (2) 

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

但答案显然是 0b10,因此出于某种原因将其跳过。 (以及 B 中的最后一个 0)

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

请您参考如下方法:

您需要从最低 有效位(写在右边的位)开始,而不是最高有效位。 A 的“第一个”数字是 0,而不是 1;当您的位似乎太少时,您需要提供零。

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

就像常规十进制一样,10 + 7 = 17,而不是 80。