비트 연산


비트 연산


한 개 혹은 두 개의 이진수에 대해 비트 단위로 적용되는 연산


비트 연산의 종류


  • NOT
  • OR
  • AND
  • XOR
  • Shift


NOT


C언어나 C++에서는 ~를 통해서 NOT 연산을 수행한다.

NOT 연산을 수행하면 연산 할 이진수의 각 자리의 값이 반대로 바뀐다.

예를 들어 1000이라는 이진수를 NOT 연산을 수행하면 0111이 된다.


OR


연산을 수행할 두 이진수 중 하나라도 1이라면 1을 반환하는 연산이다.

| 기호를 사용한다.

1001과 1110에 OR 연산을 수행하면 1111이 나온다.


AND


& 기호를 사용하며, 두 이진수의 비트 중 하나라도 0이면 0을 반환하고, 둘 다 1일 경우 1을 반환한다.

1001과 1110에 AND 연산을 수행하면 1000이 나온다.


XOR

^ 기호를 사용하며, 두 이진수의 비트가 서로 다를 경우 1을 반환한다.

1001과 1110에 XOR 연산을 수행하면 0111이 나온다.


«, »

«와 »는 쉬프트 연산자이다. 각 비트를 왼쪽 혹은 오른쪽으로 한 칸씩 이동시킨다.

0110에 « 연산을 수행하면 1100이 된다. 0110에 » 연산을 수행하면 0011이 된다.