--- title: Math.log2() slug: Web/JavaScript/Reference/Global_Objects/Math/log2 tags: - ECMAScript 2015 - JavaScript - Math - Method - Reference translation_of: Web/JavaScript/Reference/Global_Objects/Math/log2 ---
Math.log2()
関数は、数値の 2 を底とした対数を返します。
Math.log2(x)
x
与えられた数値の 2 を底とした対数です。数値が負の数であった場合、 {{jsxref("NaN")}} が返されます。
x
の値が 0 未満であった場合、返値は常に {{jsxref("NaN")}} です。
log2()
は Math
の静的メソッドであるため、生成した Math
オブジェクトのメソッドとしてではなく、常に Math.log2()
として使用するようにしてください (Math
はコンストラクターではありません)。
この関数は Math.log(x) / Math.log(2) と同等です。 log2(e) には定数 {{jsxref("Math.LOG2E")}} を使用してください (これは 1 / {{jsxref("Math.LN2")}} です。)
このポリフィルは Math.log2
関数をエミュレートします。なお、これは入力値によっては不正確な値を返すので (1 << 29 など)、ビットマスクで使用するときは {{jsxref("Math.round()")}} で囲んでください。
if (!Math.log2) Math.log2 = function(x) { return Math.log(x) * Math.LOG2E; };
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
仕様書 |
---|
{{SpecName('ESDraft', '#sec-math.log2', 'Math.log2')}} |
{{Compat("javascript.builtins.Math.log2")}}