log2, log2f, log2l, log2d32, log2d64, 和 log2d128 子例程

用途

计算以 2 为底的对数。

语法

#include <math.h>

double log2 (x)
double x;

float log2f (x)
float x;

long double log2l (x)
long double x;
_Decimal32 log2d32 (x)
_Decimal32 x;

_Decimal64 log2d64 (x)
_Decimal64 x;

_Decimal128 log2d128 (x)
_Decimal128 x;

描述

log2log2flog2llog2d32log2d64, 和 log2d128 子例程计算 x 参数的以 2 对数为底的对数,日志为2 (x)。

希望检查错误情况的应用程序应将 errno 设置为零,并在调用这些子例程之前调用 feclearexcept(FE_ALL_EXCEPT)。 返回时,如果 errno 为非零或 fetestexcept(FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW | FE_UNDERFLOW) 为非零,那么发生了错误。

参数

描述
X 指定要计算的值。

返回值

成功完成后, log2log2flog2llog2d32log2d64log2d128 子例程返回以 x为底的 2 对数。

如果 x 为 ± 0 ,那么将发生电线杆错误,并且 log2log2flog2llog2d32log2d64, 和 log2d128 子例程返回-HUGE_VAL,-HUGE_VALF,-HUGE_VALL, -HUGE_VAL_D32,-HUGE_VAL_D64和-HUGE_VAL_D128

对于小于 0 的 x 的有限值,或者如果 x 为 -Inf ,那么将发生域错误,并返回 NaN 。

如果x为NaN,返回NaN。

如果 x 为 1 ,那么将返回 + 0。

如果 x 为 + Inf ,那么将返回 x