나는 (겉보기에) 매우 이상한 사건을 만났습니다.
숫자 2 ( 0b10
)를 가져 와서 1 ( 0b01
)로 비트 마스킹합니다.
이것은 0b00
0에 해당하는 것을 생성해야합니다 .
그러나 Schrödinger가 등장하는 곳은 다음과 같습니다.
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
...그래서?
좀 더 이상한 점 : 파서 버그로 인해 일부 버전에서
—
Lily Chung
0b0+1
평가됩니다 2
.
var_dump(!(0b10 & 0b01))