--- 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 ---
{{JSRef("Global_Objects", "Math")}}

Сводка

Метод Math.log2() возвращает двоичный (по основанию 2) логарифм числа, то есть

x>0,Math.log2(x)=log2(x)=уникальныйyтакой, что2y=x\forall x > 0, \mathtt{\operatorname{Math.log2}(x)} = \log_2(x) = \text{уникальный} \; y \; \text{такой, что} \; 2^y = x

{{EmbedInteractiveExample("pages/js/math-log2.html")}}

Синтаксис

Math.log2(x)

Параметры

x
Число.

Описание

Если значение x меньше 0, возвращаемое значение всегда будет равным {{jsxref("Global_Objects/NaN", "NaN")}}.

Поскольку метод log2() является статическим методом объекта Math, вы всегда должны использовать его как Math.log2(), а не пытаться вызывать метод на созданном экземпляре объекта Math (поскольку объект Math не является конструктором).

Примеры

Пример: использование метода Math.log2()

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

Полифил

Этот метод может эмулироваться следующим способом:

Math.log2 = Math.log2 || function(x) {
  return Math.log(x) / Math.LN2;
};

Спецификации

Спецификация Статус Комментарии
{{SpecName('ES6', '#sec-math.log2', 'Math.log2')}} {{Spec2('ES6')}} Изначальное определение.

Совместимость с браузерами

{{Compat("javascript.builtins.Math.log2")}}

Смотрите также