(一見)非常に奇妙なケースに遭遇しました。
数2の(テイク0b10
()と1とそれをビットマスク0b01
)
これは0b00
0に相当するものを生成するはずです。
ただし、ここでシュレーディンガー氏が登場します。
var_dump(0b10 & 0b01); // int(0)
var_dump(0b10 & 0b01 == 0); // int(0)
var_dump(0b10 & 0b01 != 0); // int(0)
ウィスキー。タンゴ。Foxtrot。
確かに、ビット単位の演算子に関しては、私は最も鋭敏ではありません。恐らくどこかに恐ろしく、恐ろしく間違っているのでしょうか。
ただし、Pythonでは:
0b10 & 0b01 == 0
= True
0b10 & 0b01 != 0
= False
...そう?
奇妙なもの:パーサーのバグのため、一部のバージョンではと
—
リリーチョン
0b0+1
評価さ2
れます。
var_dump(!(0b10 & 0b01))