본문 바로가기
알고리즘/알고리즘

비트마스크(BitMask) - 비트 연산

by 프로그래밍 공부 2023. 3. 22.

 컴퓨터는 2진법을 사용해서 연산을 하는데, 비트 마스크는 이를 활용하는 기법이다.

 

정수를 이진수로 표현하는 방식을 활용해서 보다 빠르고, 간결하게 작성할 수 있다는 게 

 

비트 마스크 기법의 장점이다. 이에 더해 비트마스크 기법은 비트 N개를 활용해 2^N가지의 

 

경우를 표현이 가능하기 때문에 메모리 사용량이 더 적다. 

 

이러한 장점들 때문에 비트 마스크를 유용하게 사용할 수 있는 상황이 더러 생긴다.

 

 

비트 마스크를 사용하기 위해서는 우선 비트 연산자를 잘 알아야 한다.

 

다음은 비트 연산자의 종류를 표를 통해 작성한 것이다. 

 

 

다만 여기서 주의할 점은 <<, >> 와 같은 시프트 연산자의 경우 만약 할당된 값이 1100일 경우

 

<<1 연산을 실행하면 할당된 메모리를 초과한 1은 사라지고 1000이 되어버린다.

 

따라서 12를 2곱하려는 의도가 본의 아니게 8이 되어버리는 것이다.

 

이는 반대 연산도 똑같기 때문에 주의하여 계산하여야 한다.

 

또한 왼쪽으로 이동시킬 때 해당 변수에 할당된 값이 int 값의 범위를 초과할 수 있으므로 

 

자료형 선언도 주의깊게 설정해야 한다.

 

 

라고 이해했다.