Bitmask

비트마스크는 2진법을 이용한 기법이다. 크게 두가지의 활용방법이 존재한다.

  • 이진법을 이용하여 십진법을 계산

  • 비트의 값으로 상태를 확인한다.

집합 { 0,1,2,3 } 에 대하여
{0,1}, {0,1,2}, {0,3}, {2,3} ...  

BITMASK ) 
arr1 = [0,0,1,1] => 1100 # 3
arr2 = [0,1,1,1] => 1110 # 7
arr3 = [1,0,0,1] => 1001 # 9
arr4 = [1,1,0,0] => 0011 # 12
...

SHIFT 연산

비트를 옮기는 연산이다.

집합 { 0,1,2,3 } 에 대하여
집합 A { 0,1,2 } 가 { 1,2,3 } 이 되는 식 &
집합 A { 0,1,2 } 가 { 1,2 } 이 되는 식

EX ) 
0111 << 1 = 1110 
0111 >> 1 = 0011 

논리연산

AND ( & )

둘다 1일때 1을 반환
1010 & 
1111 = 
1010

OR ( | )

하나라도 1일때 1을 반환
1010 | 
1110 = 
1110

XOR ( ^ )

서로 다른 비트면 1을 반환
1010 | 
1110 = 
0100

NOT ( ~ )

비트의 값을 반전
~1010 = 
 0101

Last updated