반응형
<or연산>
X or 1 = 1
X or 0 = X
<and 연산>
X and 0 = 0
X and 1 = X
- 기본 스킬 : 매우 자주 쓰임
bit이라는 이름을 가진 이진수가 있다고 해보자.
* 주의 : j번째라는 건 오른쪽부터 카운트한것. 즉 0번째는 제일 오른쪽 비트를 말하는 거임
1. bit의 모든 비트가 0인가?
bit==0
2. bit의 모든 비트가 1인가?
bit==(1<<n)-1
3. bit의 j번째 비트가 1인지 확인하고 싶을 때
bit&(1<<j)
4. bit의 j번째 비트를 1로 만들기
bit |= (1<<j)
5. bit의 j번째 비트를 0으로 만들기
bit &= ~(1<<j)
6. A&B==B
B의 모든 1은 A도 갖고 있음. 즉 A가 B를 포함함
- 고급 스킬(계속 추가 예정)
1. 2의보수와 and 연산 => 값이 1인 가장 작은 자리의 비트를 찾음
예시 : X & -X
1011&0101 = 0001
01000&11000 = 01000
01110&10010 = 00010
댓글