<< 연산자와 Math.pow()는 모두 거듭제곱처럼 보이지만, 실제로는 완전히 다른 목적과 동작 방식을 갖습니다.
실수(double) 기반의 거듭제곱 함수
Math.pow(2, 3) // 2^3 = 8.0 (double 타입 반환)
Math.pow(2, 4) // 2^4 = 16.0 (double)
특징
정수형 비트 연산으로, `2의 거듭제곱을 빠르게 계산**할 때 사용
1 << 3 // 1 * 2^3 = 8
1 << 4 // 1 * 2^4 = 16
특징
| 항목 | Math.pow(2, n) | 1 << n |
|---|---|---|
| 반환 타입 | double | int |
| 사용 목적 | 일반적인 실수 거듭제곱 | 2의 거듭제곱 계산, 비트 연산 |
| 성능 | 느림 (함수 호출, 소수점) | 빠름 (CPU 비트 연산) |
| 사용 예시 | 복잡한 실수 계산 | 마스크, 비트 계산, 최적화 |