비트 연산
비트 연산
한 개 혹은 두 개의 이진수에 대해 비트 단위로 적용되는 연산
비트 연산의 종류
- 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이 된다.