Math.log2()

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

Math.log2() 함수는 숫자를 log2(숫자)로 반환합니다.

x>0,Math.log2(x)=log2(x)=the uniqueysuch that2y=x\forall x > 0, \mathtt{\operatorname{Math.log2}(x)} = \log_2(x) = \text{the unique} ; y ; \text{such that} ; 2^y = x

시도해 보기

console.log(Math.log2(3)); // Expected output: 1.584962500721156 console.log(Math.log2(2)); // Expected output: 1 console.log(Math.log2(1)); // Expected output: 0 console.log(Math.log2(0)); // Expected output: -Infinity 

문법

js
Math.log2(x); 

매개변수

x

숫자.

반환 값

주어진 숫자를 진수로, 2를 밑으로 하는 로그 계산 결과입니다. 만약 숫자가 음수라면 NaN를 반환합니다.

설명

만약 x 의 값이 0보다 작다면(음수) 값은 항상 NaN로 반환합니다.

log2()Math의 정적 메서드이므로 만든 Math 객체의 메서드가 아니라 항상 Math.log2()함수를 사용해야합니다. (Math는 생성자가 없습니다.)

이 함수는 Math.log(x) / Math.log(2)와 같습니다.

따라서 log2(e)Math.LOG2E와 같습니다.

그리고 위 함수는 1 / Math.LN2과 같습니다.

폴리 필

폴리 필은 Math.log2함수를 모방합니다. 일부 입력(예: 1 << 29)에 대해 부정확한 값을 반환할 수 있습니다. 만약 비트마스크로 작업할 경우 Math.round() 로 감싸주어야 합니다.

js
if (!Math.log2) Math.log2 = function (x) { return Math.log(x) * Math.LOG2E; }; 

예제

Math.log2()

js
Math.log2(3); // 1.584962500721156 Math.log2(2); // 1 Math.log2(1); // 0 Math.log2(0); // -Infinity Math.log2(-2); // NaN Math.log2(1024); // 10 

명세

Specification
ECMAScript® 2026 Language Specification
# sec-math.log2

브라우저 호환성

같이 보기