我遇到了一个(看起来)非常奇怪的情况。
将数字2(0b10
)与1(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
...所以呢?
var_dump(!(0b10 & 0b01))
。 - Grijesh Chauhan0b0+1
会评估为2
,这是由于解析器错误导致的。 - Lily Chung