Функція 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{the unique} \; y \; \text{such that} \; 2^y = x

Синтаксис

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  

Підтримка у браузерах

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support38 Yes25 No258
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support Yes Yes Yes25 Yes8 Yes

Дивіться також

Мітки документа й учасники

Зробили внесок у цю сторінку: AdriandeCita
Востаннє оновлена: AdriandeCita,