[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가 됩니다.

이러한 비트 연산자는 메모리 및 성능을 효율적으로 사용하기 위해 주로 사용됩니다.

참고 자료: