.- .
检索一个整数,以表示指定值以 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
的以 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++ 标头 |
---|---|---|
.- . | <math.h> | <cmath> |
ilogb 宏 |
<tgmath.h> |
有关兼容性的详细信息,请参阅 兼容性。