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?
php
bit-manipulation
bitwise-operators
operator-precedence
Danny Kopping
sumber
sumber
var_dump(!(0b10 & 0b01))
0b0+1
mengevaluasi2
di beberapa versi, karena bug parser.Jawaban:
Anda sebenarnya melakukan ini:
Mencoba:
sumber
0b10 & (0b01 == 0)
mengapa seseorang menerapkan bitwise dengan ya tidak ada jenis informasi.