비트 오른쪽 시프트 연산자(>>)는 왼쪽 피연산자의 값을 오른쪽 피연산자가 지정한 비트 수만큼 오른쪽으로 이동시키는 연산자입니다. 오른쪽 끝에서 밀려나간 비트는 버려지며, 왼쪽에 생긴 빈자리는 양수일 경우 0으로 채워집니다.
동작 원리
예를 들어 숫자 2는 이진수로 10입니다. 이 값을 3비트만큼 오른쪽으로 밀면 유효한 비트가 모두 잘려나가 0이 됩니다. 즉, 2 >> 3의 결과는 0입니다.
일반적으로 x >> n은 x를 2의 n제곱으로 나눈 몫과 같다는 점을 기억하면 이해하기 쉽습니다.
예제 코드
다음 코드를 실행하면 비트 오른쪽 시프트 연산자의 동작을 직접 확인할 수 있습니다.
<html>
<body>
<script>
var a = 2; // 이진수 표현: 10
var b = 3; // 이진수 표현: 11
document.write("(a >> b) => ");
result = (a >> b);
document.write(result);
</script>
</body>
</html>
실행 결과
(a >> b) => 0
a(2, 이진수 10)를 b(3)비트만큼 오른쪽으로 이동하면 남아 있는 비트가 없으므로 최종 결과값은 0이 됩니다.