C++에서 ^ 연산자는 비트 단위의 배타적 논리합 (XOR) 연산자입니다.
a ^ b는 정수 a와 b의 각 비트를 비교해서 서로 다르면 1, 같으면 0을 반환합니다.
#include <iostream>
using namespace std;
int main() {
int a = 5; // 0101
int b = 3; // 0011
int result = a ^ b; // 0101 ^ 0011 = 0110 (== 6)
cout << "a ^ b = " << result << endl;
return 0;
}
a ^ b = 6
#include <iostream>
using namespace std;
int main() {
int a = 5; // 0101
int b = 3; // 0011
a ^= b; // a = a ^ b → a = 6 (0110)
cout << "a = " << a << endl;
return 0;
}
a = 6
특히 XOR는 다음 성질 때문에 암호화, 오류 검출, 비트 마스크 처리, 스왑(swap) 같은 알고리즘에서 자주 사용됩니다:
변수 값 교환 (swap without temp)
int a = 10, b = 7;
a ^= b;
b ^= a;
a ^= b;
// 결과: a = 7, b = 10'C++ 개념 정리' 카테고리의 다른 글
| 27. static VS extern (0) | 2026.03.01 |
|---|---|
| 26. 비트 마스크 열거형(enum) (0) | 2026.02.08 |
| 34. C++ 곱셈 연산 나눗셈 연산 차이 (0) | 2026.02.08 |
| 24. 정수 (0) | 2026.02.01 |
| 23. IOCP (0) | 2026.01.31 |