我遇到了一个(看似)非常奇怪的案例。
取数字2(0b10
)并用1(0b01
)对其进行位掩码
这应产生0b00
等于0的值。
但是,这里是薛定ding先生进来的地方:
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
...所以?
不过有些奇怪:由于解析器错误,在某些版本中
—
莉莉·钟
0b0+1
评估为2
。
var_dump(!(0b10 & 0b01))