このページはコミュニティーの尽力で英語から翻訳されました。MDN Web Docs コミュニティーについてもっと知り、仲間になるにはこちらから。

View in English Always switch to English

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 ⁨2015年7月⁩.

Math.log2() は静的メソッドで、数値の 2 を底とした対数を返します。

x>0,𝙼𝚊𝚝𝚑.𝚕𝚘𝚐𝟸(𝚡)=log2(x)=the unique y such that 2y=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

0 以上の数値です。

返値

x の 2 を底とした対数です。 x < 0 であった場合、 NaN が返されます。

解説

log2()Math の静的メソッドであるため、生成した Math オブジェクトのメソッドとしてではなく、常に Math.log2() として使用するようにしてください (Math はコンストラクターではありません)。

この関数は Math.log(x) / Math.log(2) と同等です。 log2(e) には定数 Math.LOG2E を使用してください(これは 1 / Math.LN2 です)。

Math.log2() の使用

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

仕様書

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

ブラウザーの互換性

関連情報