<< 연산자와 Math.pow

Yong Lee·2025년 8월 1일

<< 연산자와 Math.pow()는 모두 거듭제곱처럼 보이지만, 실제로는 완전히 다른 목적과 동작 방식을 갖습니다.

Math.pow(base,exponent)

실수(double) 기반의 거듭제곱 함수

Math.pow(2, 3) // 2^3 = 8.0 (double 타입 반환)
Math.pow(2, 4) // 2^4 = 16.0 (double)

특징

  • 반환값이 double입니다.
  • int로 쓰고 싶다면 형변환 (int) 해야 합니다.
  • 부동소수점 연산이라 정수 연산보다 느릴 수 있고, 정확도 이슈도 있습니다.

<< 비트 시프트 연산자

정수형 비트 연산으로, `2의 거듭제곱을 빠르게 계산**할 때 사용

1 << 3 // 1 * 2^3 = 8
1 << 4 // 1 * 2^4 = 16

특징

  • 정수 1을 왼쪽으로 n비트 이동해서 2^n 값을 만듭니다.
  • 빠르고 정확합니다. (CPU 연산 단위)
  • 반환값은 int입니다.
    • 예: 1 << 5 → 32 (2⁵)

비교

항목Math.pow(2, n)1 << n
반환 타입doubleint
사용 목적일반적인 실수 거듭제곱2의 거듭제곱 계산, 비트 연산
성능느림 (함수 호출, 소수점)빠름 (CPU 비트 연산)
사용 예시복잡한 실수 계산마스크, 비트 계산, 최적화
profile
오늘은 어떤 새로운 것이 나를 즐겁게 할까?

0개의 댓글