-
Bit mask 비트마스크
- 정수를 이진수 표현으로 사용하는 것을 비트 마스크라고한다.
((컴퓨터는 정수형 변수를 이진수로 표현.))
비트가 1이면, true 켜져있다.
비트가 0이면, false 꺼져있다.
N개의 비트가 있을 때
정수의 최소값은 0
정수의 최대값은 2^N - 1
- 연산 종류
1. AND 연산 : &
2. OR 연산 : |
3. XOR연산 : ^
4. NOT연산 : ~
5. SHIFT연산 : <<, >>
a << b : a * 2^b
a >> b : a / 2^b
- 예를 들어 6개의 비트가 있다면.
0 0 0 0 0 0 ~ 1 1 1 1 1 1 : 0부터 63까지 표현이 가능하다.
특정 n번째 비트를 1로 바꾸는 방법은
int temp =0;
temp |= (1 << n);
특정 n번째 비트를 0으로 바꾸는 방법은
temp &= ~(1 << n);
특정 n번째 비트를 반전시키는 방법은
temp ^= (1 << n);
특정 n번째 비트가 1인지 확인하는 방법은
if(temp & (1 << n)) -> true를 반환하는 것은 n번째 비트가 1이라는 뜻이다.
'잡다한 지식' 카테고리의 다른 글
lower_bound & upper_bound 함수 (0) 2020.07.12 bitset 사용법 (0) 2020.05.28 복잡도 표기법 (0) 2020.03.27 sort 함수 사용법 (0) 2020.03.25 next_permutaion 함수 (0) 2020.03.18