[c] 비트 연산자
비트 연산자
비트 연산자는 컴퓨터에서 비트 단위로 연산을 수행하는 데 사용됩니다. 비트 연산자에는 AND(&), OR( | ), XOR(^), NOT(~), Left Shift(«), Right Shift(») 연산자가 포함됩니다. |
AND 연산자(&)
AND 연산자는 두 비트가 모두 1일 때 결과가 1이 됩니다.
int a = 5; // 101
int b = 3; // 011
int result = a & b; // 001
위의 예제에서 a & b
는 1 & 1이 되어 결과는 1이 됩니다.
OR 연산자(|)
OR 연산자는 두 비트 중 하나라도 1일 때 결과가 1이 됩니다.
int a = 5; // 101
int b = 3; // 011
int result = a | b; // 111
위의 예제에서 a | b 는 1 |
1이 되어 결과는 1이 됩니다. |
XOR 연산자(^)
XOR 연산자는 두 비트가 서로 다를 때 결과가 1이 됩니다.
int a = 5; // 101
int b = 3; // 011
int result = a ^ b; // 110
위의 예제에서 a ^ b
는 1 ^ 1이 아니므로 결과는 1이 됩니다.
NOT 연산자(~)
NOT 연산자는 비트를 반전시킵니다.
int a = 5; // 101
int result = ~a; // 11111111111111111111111111111010
위의 예제에서 ~a
는 010을 101으로 변경하여 결과가 -6이 됩니다.
Left Shift(«) 연산자
Left Shift 연산자는 비트를 왼쪽으로 이동시킵니다.
int a = 5; // 101
int result = a << 1; // 1010
위의 예제에서 a << 1
은 비트를 왼쪽으로 한 칸 이동하여 결과가 10이 됩니다.
Right Shift(») 연산자
Right Shift 연산자는 비트를 오른쪽으로 이동시킵니다.
int a = 5; // 101
int result = a >> 1; // 10
위의 예제에서 a >> 1
은 비트를 오른쪽으로 한 칸 이동하여 결과가 2가 됩니다.
이러한 비트 연산자는 메모리 및 성능을 효율적으로 사용하기 위해 주로 사용됩니다.
참고 자료: