[php] 우선 순위 및 비트 마스크 작업

나는 (겉보기에) 매우 이상한 사건을 만났습니다.

숫자 2 ( 0b10)를 가져 와서 1 ( 0b01)로 비트 마스킹합니다.

이것은 0b000에 해당하는 것을 생성해야합니다 .

그러나 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

…그래서?



답변

당신은 실제로 이것을하고 있습니다 :

var_dump(0b10 & (0b01 == 0));
var_dump(0b10 & (0b01 != 0));

시험:

var_dump((0b10 & 0b01) == 0);
var_dump((0b10 & 0b01) != 0);


답변