log2, log2f, log2l

Определяет двоичный логарифм (по основанию 2) для указанного значения.

Синтаксис

double log2(
   double x
);

float log2(
   float x
); //C++ only

long double log2(
   long double x
); //C++ only

float log2f(
   float x
);

long double log2l(
   long double x
);

#define log2(X) // Requires C11 or higher

Параметры

x
Значение, для которого вычисляется логарифм по основанию 2.

Возвращаемое значение

При успешном выполнении функции возвращают журнал xbase-2.

В противном случае функции могут возвращать одно из следующих значений:

Проблема Возврат
x< 0 Не число
x = ±0 -INFINITY
x = 1 +0
+INFINITY +INFINITY
Не число Не число
ошибка домена Не число
ошибка полюса -HUGE_VAL, -HUGE_VALF, или -HUGE_VALL

Ошибки сообщаются, как указано в _matherr.

Замечания

Если x это целое число, эта функция, по сути, возвращает отсчитываемый от нуля индекс наиболее значительного 1 бита x.

По умолчанию глобальное состояние этой функции ограничивается приложением. Чтобы изменить это поведение, см . статью "Глобальное состояние" в CRT.

Требования

Функция Заголовок C Заголовок C++
log2, log2f, log2l <math.h> <cmath>
log2Макрос <tgmath.h>

Дополнительные сведения о совместимости см. в разделе Совместимость.

См. также

Справочник по алфавитной функции
exp2, exp2f, exp2l
log, logf, log10, log10f