Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Возвращает целое число, представляющее несмещенный порядок по основанию 2 для заданного значения.
Синтаксис
int ilogb(
double x
);
int ilogb(
float x
); //C++ only
int ilogb(
long double x
); //C++ only
int ilogbf(
float x
);
int ilogbl(
long double x
);
#define ilogbl(X) // Requires C11 or later
Параметры
x
Указанное значение.
Возвращаемое значение
В случае успешного выполнения эти функции возвращают экспонент x base-2 в signed int виде значения.
В противном случае функции возвращают одно из следующих значений, определенных в <math.h>:
| Входные данные | Результат |
|---|---|
| ±0 | FP_ILOGB0 |
| ± INF, ± NAN, IND | FP_ILOGBNAN |
Ошибки сообщаются, как указано в _matherr.
Замечания
Поскольку C++ допускает перегрузки, можно вызывать перегрузки функции ilogb, принимающие и возвращающие типы float и long double. В программе C, если вы не используете <макрос tgmath.h> для вызова этой функции, ilogb всегда принимает и возвращает значение double.
Если вы используете <макрос tgmath.h>ilogb() , тип аргумента определяет, какая версия функции выбрана. Дополнительные сведения см . в разделе "Математика с универсальным типом".
Вызов этой функции аналогичен вызову эквивалентной функции logb с последующим приведением возвращаемого значения к типу int.
Требования
| Маршрут | Заголовок C | Заголовок C++ |
|---|---|---|
ilogb, , ilogbfilogbl |
<math.h> | <cmath> |
ilogbМакрос |
<tgmath.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость.
См. также
Справочник по алфавитной функции
frexp
logb, , logbflogbl, _logb_logbf