비트 XOR 연산자(^)는 정수 인수의 각 비트에 대해 불리언 배타적 논리합(Exclusive OR) 연산을 수행합니다. 배타적 논리합이란 두 피연산자 중 하나만 참(true)일 때 결과가 참이 되고, 둘 다 참이거나 둘 다 거짓이면 결과가 거짓(false)이 되는 연산 방식을 의미합니다.
비트 XOR 연산의 동작 원리
XOR 연산은 비트 단위로 다음 규칙에 따라 계산됩니다.
- 0 ^ 0 = 0
- 0 ^ 1 = 1
- 1 ^ 0 = 1
- 1 ^ 1 = 0
즉, 서로 다른 비트를 만나면 1, 같은 비트를 만나면 0이 됩니다.
예제 코드
아래 예제를 실행하면 비트 XOR 연산자가 실제로 어떻게 동작하는지 확인할 수 있습니다. 숫자 2는 이진수로 10, 숫자 3은 이진수로 11이며, 두 값을 XOR 연산하면 이진수 01, 즉 십진수 1이 결과로 출력됩니다.
<html>
<body>
<script>
<!--
var a = 2; // 이진수 표현: 10
var b = 3; // 이진수 표현: 11
document.write("(a ^ b) => ");
result = (a ^ b);
document.write(result); // 결과: 1
</script>
</body>
</html>정리
자바스크립트의 XOR 연산자(^)는 정수를 32비트 이진수로 변환한 뒤 각 자릿수를 비교하여, 서로 다른 경우에만 1을 반환하는 비트 연산입니다. 플래그 처리, 값 교환(swap), 간단한 암호화 등 다양한 저수준 프로그래밍에서 활용될 수 있으니 기본 원리를 잘 익혀두면 유용합니다.