优先级和位掩码操作
2022-08-30 07:48:39
我遇到了一个(似乎)非常奇怪的案例。
取数字 2 () 并用 1 (0b10
0b01
)
这应该产生等效于 0 的结果。0b00
然而,这是薛定谔先生的用武之地:
var_dump(0b10 & 0b01); // int(0)
var_dump(0b10 & 0b01 == 0); // int(0)
var_dump(0b10 & 0b01 != 0); // int(0)
威士忌。探戈。狐步。
诚然,当涉及到按位运算符时,我不是最尖锐的 - 所以也许我在某个地方犯了可怕的错误?
但是,在Python中:
0b10 & 0b01 == 0
= True
0b10 & 0b01 != 0
= False
...所以?