비트 AND 연산자(&)는 두 정수 피연산자의 각 비트를 하나씩 비교하여 불리언(Boolean) AND 연산을 수행하는 연산자입니다.
비트 AND 연산의 동작 원리
비트 AND 연산은 양쪽 비트가 모두 1일 때만 결과가 1이 되고, 그 외의 경우에는 0이 됩니다. 진리표로 정리하면 다음과 같습니다.
| 비트 A | 비트 B | A & B |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
예제 코드
아래 코드를 실행하면 비트 AND 연산자(&)가 실제로 어떻게 동작하는지 확인할 수 있습니다.
<html>
<body>
<script>
var a = 2; // 2진수 표현: 10
var b = 3; // 2진수 표현: 11
document.write("(a & b) => ");
result = (a & b);
document.write(result);
</script>
</body>
</html>
실행 결과 분석
위 예제에서 변수 a는 10진수 2(2진수 10), 변수 b는 10진수 3(2진수 11)입니다. 두 값을 비트 단위로 AND 연산하면 다음과 같습니다.
10 (2) && 11 (3) ------ 10 (2)
각 자리의 비트를 비교했을 때 두 비트가 모두 1인 경우는 첫 번째 자리뿐이므로, 최종 결과는 2진수 10, 즉 10진수 2가 출력됩니다.
이처럼 비트 AND 연산자는 플래그(flag) 검사, 짝수·홀수 판별, 마스킹(masking) 등 다양한 저수준 프로그래밍 기법에서 유용하게 활용됩니다.