ilogb
, , ilogbf
ilogbl
Возвращает целое число, представляющее несмещенный порядок по основанию 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 higher
Параметры
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 , , ilogbf ilogbl |
<math.h> | <cmath> |
ilogb Макрос |
<tgmath.h> |
Дополнительные сведения о совместимости см. в разделе Совместимость.
См. также
Справочник по алфавитной функции
frexp
logb
, , logbf
logbl
, _logb
_logbf