logbf , logbl 或 logb 子例程
用途
计算独立于基数的指数。
语法
#include <math.h>
float logbf (x)
float x;
long double logbl (x)
long double x;
double logb(x)
double x; 描述
logbf 和 logbl 子例程计算 x的指数,这是对数r | x | 的整数部分。 作为非零 x的带符号浮点值,其中 r 是机器的浮点算术的基数。 对于AIX®,FLT_RADIXr=2。
如果 x 是次常态,那么会将其视为已规范化; 因此对于有限正数 x:
1 <= x * FLT_RADIX-logb(x) < FLT_RADIX希望检查错误情况的应用程序应将 errno 设置为零,并在调用这些子例程之前调用 feclearexcept(FE_ALL_EXCEPT)。 返回时,如果 errno 为非零或 fetestexcept(FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW) 为非零,那么发生了错误。
注: 当 x 参数为有限且不为零时, logb (x) 子例程满足以下方程:
1 < = scalb (|x|, -(int) logb (x)) < 2参数
| 项 | 描述 |
|---|---|
| X | 指定要计算的值。 |
返回值
成功完成后, logbf 和 logbl 子例程将返回 x的指数。
如果 x 为 ± 0 ,那么将发生极错误,并且 logbf 和 logbl 子例程分别返回-HUGE_VALF 和-HUGE_VALL。
如果x为NaN,返回NaN。
如果 x 是 ± Inf ,那么将返回 + Inf。
错误代码
当 x 参数设置为值 0 并将 errno 设置为 EDOM时, logb 函数将返回 -HUGE_VAL 。