确定指定值的二进制(以 2 为底)对数。
语法
double log2(
double x
);
float log2(
float x
); //C++ only
long double log2(
long double x
); //C++ only
float log2f(
float x
);
long double log2l(
long double x
);
#define log2(X) // Requires C11 or later
参数
x
要确定其以 2 为底的对数的值。
返回值
成功后,函数返回 x 的 base-2 日志。
否则,这些函数可能会返回以下值之一:
| 问题 | 返回值 |
|---|---|
x< 0 |
NaN |
x = ±0 |
-INFINITY |
x = 1 |
0+ |
| +INFINITY | +INFINITY |
| NaN | NaN |
| 域错误 | NaN |
| 极点错误 | -HUGE_VAL、-HUGE_VALF 或 -HUGE_VALL |
按 _matherr 中所指定的内容报告错误。
备注
如果 x 是整数,则此函数实质上会返回最重要的 1 位 x 的以 0 为底的指数。
默认情况下,此函数的全局状态范围限定为应用程序。 若要更改此行为,请参阅 CRT 中的全局状态。
要求
| 函数 | C 标头 | C++ 标头 |
|---|---|---|
| .- . | <math.h> | <cmath> |
log2 宏 |
<tgmath.h> |
有关兼容性的详细信息,请参阅 兼容性。
另请参阅
按字母顺序显示的函数参考
.- .