Saya telah menemukan kasus (yang tampaknya) sangat aneh.
Ambil angka 2 ( 0b10
) dan bitmask dengan 1 ( 0b01
)
Ini harus menghasilkan 0b00
yang setara dengan 0.
Namun, di sinilah Tuan Schrödinger berperan:
var_dump(0b10 & 0b01); // int(0)
var_dump(0b10 & 0b01 == 0); // int(0)
var_dump(0b10 & 0b01 != 0); // int(0)
Wiski. Tango. Foxtrot.
Saya, memang, bukan yang paling tajam dalam hal operator bitwise - jadi mungkin saya telah melakukan kesalahan yang sangat, sangat buruk di suatu tempat?
Namun, dengan Python:
0b10 & 0b01 == 0
= True
0b10 & 0b01 != 0
= False
...begitu?
var_dump(!(0b10 & 0b01))