반응형
우선 순위 및 비트 마스크 작업
나는 (겉보기에) 매우 이상한 사건을 만났습니다.
숫자 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
...그래서?
당신은 실제로 이것을하고 있습니다 :
var_dump(0b10 & (0b01 == 0));
var_dump(0b10 & (0b01 != 0));
시험:
var_dump((0b10 & 0b01) == 0);
var_dump((0b10 & 0b01) != 0);
참고 URL : https://stackoverflow.com/questions/21975334/precedence-and-bitmask-operations
반응형
'Programming' 카테고리의 다른 글
Windows의 Emacs (0) | 2020.08.28 |
---|---|
svn과 호환되는 Git 형식 패치? (0) | 2020.08.28 |
구조를 비교할 때이 주장이 형식 예외를 던지는 이유는 무엇입니까? (0) | 2020.08.28 |
Maven이 매번 maven-metadata.xml을 다운로드하는 이유는 무엇입니까? (0) | 2020.08.28 |
"콘텐츠 보안 정책 메타 태그를 찾을 수 없습니다." (0) | 2020.08.28 |