我遇到了一个(看似)非常奇怪的案例。
取数字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))