로또
비트 연산 정리 본문
작성 이유
xor 연산에 대해 잘못 알고 있음을 깨닫고 충격을 받아 정리한다.
or ( | )
둘 중 하나라도 1이면 1, 아니라면 0
| 식 | 결과 |
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
and ( & )
모두 1이면 1, 아니라면 0
| 식 | 결과 |
| 0 & 0 | 0 |
| 0 & 1 | 0 |
| 1 & 0 | 0 |
| 1 & 1 | 1 |
xor ( ^ )
두 개의 값 중 하나만이 1이면 1, 아니라면 0
| 식 | 결과 |
| 0 ^ 0 | 0 |
| 0 ^ 1 | 1 |
| 1 ^ 0 | 1 |
| 1 ^ 1 | 0 |
not ( ~ )
| 식 | 결과 |
| ~0 | 1 |
| ~1 | 0 |
left-shift ( << )
bit를 좌측으로 이동시키는 shift 연산, 밀림으로 인해 발생하는 빈 칸은 0으로 채워진다.
right-shift ( >> )
bit를 우측으로 이동시키는 shift 연산, 밀림으로 인해 발생하는 빈 칸은 가장 MSB(최상위 비트)로 채워진다.
'CS' 카테고리의 다른 글
| new vs malloc (0) | 2023.10.27 |
|---|---|
| Tail Call Optimization (0) | 2023.09.12 |
| 참조 지역성 (0) | 2023.09.12 |