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® 2025 Language Specification
# sec-math.log2

브라우저 호환성

Report problems with this compatibility data on GitHub
desktopmobileserver
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Deno
Node.js
log2

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

같이 보기