logb, logbf, logbl, _logb, _logbf

Извлекает значение экспоненты для аргумента с плавающей запятой.

Синтаксис

double logb(
   double x
);
float logb(
   float x
); // C++ only
long double logb(
   long double x
); // C++ only
float logbf(
   float x
);
long double logbl(
   long double x
);
double _logb(
   double x
);
float _logbf(
   float x
);
#define logb(X) // Requires C11 or higher

Параметры

x
Значение с плавающей запятой.

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

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

Замечания

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

Поскольку C++ допускает перегрузку, можно вызывать перегрузки logb, которые принимают и возвращают значения float или long double. В программе C, если вы не используете <tgmath.h> макрос для вызова этой функции, logb всегда принимает и возвращает значение double.

Если вы используете logb макрос из <tgmath.h>, тип аргумента определяет, какая версия функции выбрана. Дополнительные сведения см . в разделе "Математика с универсальным типом".

Входные данные Исключение SEH Исключение _matherr
± QNaN, IND None _DOMAIN
± 0 ZERODIVIDE _SING

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

Требования

Маршрут Обязательный заголовок
_logb <float.h>
logb, logbf, logbl, _logbf <math.h>
logbМакрос <tgmath.h>

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

Библиотеки

Все версии библиотек времени выполнения языка C.

См. также

Поддержка математических и плавающих точек
frexp