Функція Math.log2()
повертає логарифм за основою 2 від числа. Інакше кажучи,
Джерело цих інтерактивних прикладів зберігається у репозиторії на GitHub. Якщо ви маєте бажання зробити свій внесок у проект інтерактивних прикладів - будь ласка, зклонуйте репозиторій https://github.com/mdn/interactive-examples та пришліть нам pull request.
Синтаксис
Math.log2(x)
Аргументи
x
- Число.
Результат
Логарифм за основою 2 від даного числа. Якщо значення аргументу від'ємне, функція повертає NaN
.
Опис
Якщо значення аргументу x
менше від 0, результат завжди дорівнює NaN
.
У зв'язку з тим, що log2()
- це статичний метод Math
, слід завжди викликати його як Math.log2()
, аніж як метод створеного вами об'єкту Math
(оскільки Math
не являється конструктором).
Ця фукнція є еквівалентною комбінації методів Math.log(x) / Math.log(2). Для log2(e) використовуйте вбудовану сталу Math.LOG2E
, яка дорівнює 1 / Math.LN2
.
Приклади
Застосування 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
. Зауважте, що він повертає неточні значення для деяких аргументів (наприклад, 1 << 29), тому обгорніть його у Math.round()
, якщо працюєте із бітовими масками.
Math.log2 = Math.log2 || function(x) { return Math.log(x) * Math.LOG2E; };
Специфікації
Специфікація | Статус документу | Примітка |
---|---|---|
ECMAScript 2015 (6th Edition, ECMA-262) The definition of 'Math.log2' in that specification. |
Standard | Первинне визначення. |
ECMAScript Latest Draft (ECMA-262) The definition of 'Math.log2' in that specification. |
Draft |
Підтримка у браузерах
Таблиця сумісності на цій сторінці сформована автоматично із структурованих даних. Якщо ви маєте бажання зробити свій внесок до цих даних - будь-ласка, ось репозиторій https://github.com/mdn/browser-compat-data, надішліть нам свій pull request.
Desktop | Mobile | Server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Basic support | Chrome Full support 38 | Edge Full support Yes | Firefox Full support 25 | IE No support No | Opera Full support 25 | Safari Full support 8 | WebView Android Full support Yes | Chrome Android Full support Yes | Edge Mobile Full support Yes | Firefox Android Full support 25 | Opera Android Full support Yes | Safari iOS Full support 8 | Samsung Internet Android Full support Yes | nodejs Full support 0.12 |
Legend
- Full support
- Full support
- No support
- No support