Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

자바스크립트(JavaScript) 비트 왼쪽 시프트 연산자(<<) 완벽 정리

왼쪽 시프트 연산자(<<)는 첫 번째 피연산자의 모든 비트를 두 번째 피연산자가 지정한 자릿수만큼 왼쪽으로 이동시키는 비트 연산자입니다. 이동 후 새롭게 생긴 오른쪽 빈자리는 모두 0으로 채워집니다.

왼쪽 시프트 연산자의 핵심 특징

왼쪽 시프트는 사실상 2의 거듭제곱 곱셈과 같은 결과를 냅니다.

  • 1비트 왼쪽 이동 → 값이 2배가 됨
  • 2비트 왼쪽 이동 → 값이 4배가 됨
  • 3비트 왼쪽 이동 → 값이 8배가 됨

예를 들어 숫자 2(2진수 10)를 3비트 왼쪽으로 이동하면 2진수 10000, 즉 십진수 16이 됩니다. 이는 2 × 2³ = 16과 동일한 계산입니다.

예제 코드

아래 코드를 실행하면 비트 왼쪽 시프트 연산자가 실제로 어떻게 동작하는지 확인할 수 있습니다.

<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의 값 2를 3비트 왼쪽으로 이동하므로, 결과는 16이 출력됩니다. 즉, (a << b)는 2 × 8 = 16과 같은 의미입니다.

정리

왼쪽 시프트 연산자(<<)는 비트를 왼쪽으로 밀어내고 빈자리를 0으로 채우며, 수학적으로는 2의 n제곱을 곱하는 것과 동일합니다. 곱셈 연산보다 처리 속도가 빠른 경우가 많아 성능 최적화가 필요한 코드에서 유용하게 활용됩니다.