컴퓨터는 2진법을 사용해서 연산을 하는데, 비트 마스크는 이를 활용하는 기법이다.
정수를 이진수로 표현하는 방식을 활용해서 보다 빠르고, 간결하게 작성할 수 있다는 게
비트 마스크 기법의 장점이다. 이에 더해 비트마스크 기법은 비트 N개를 활용해 2^N가지의
경우를 표현이 가능하기 때문에 메모리 사용량이 더 적다.
이러한 장점들 때문에 비트 마스크를 유용하게 사용할 수 있는 상황이 더러 생긴다.
비트 마스크를 사용하기 위해서는 우선 비트 연산자를 잘 알아야 한다.
다음은 비트 연산자의 종류를 표를 통해 작성한 것이다.
다만 여기서 주의할 점은 <<, >> 와 같은 시프트 연산자의 경우 만약 할당된 값이 1100일 경우
<<1 연산을 실행하면 할당된 메모리를 초과한 1은 사라지고 1000이 되어버린다.
따라서 12를 2곱하려는 의도가 본의 아니게 8이 되어버리는 것이다.
이는 반대 연산도 똑같기 때문에 주의하여 계산하여야 한다.
또한 왼쪽으로 이동시킬 때 해당 변수에 할당된 값이 int 값의 범위를 초과할 수 있으므로
자료형 선언도 주의깊게 설정해야 한다.
라고 이해했다.
'알고리즘 > 알고리즘' 카테고리의 다른 글
비트 마스크(Bit Mask) - 활용(부분집합) (0) | 2023.03.24 |
---|---|
비트 마스크(Bit Mask) - 활용(집합 연산) (0) | 2023.03.22 |
분할 정복 (0) | 2023.03.22 |
1의 보수(One's Complement) (0) | 2023.03.22 |
2진수, 8진수, 10진수, 16진수 (0) | 2023.03.21 |