.- .
计算 2 的指定次幂的值。
语法
double exp2(
double x
);
float exp2(
float x
); // C++ only
long double exp2(
long double x
); // C++ only
float exp2f(
float x
);
long double exp2l(
long double x
);
#define exp2(X) // Requires C11 or higher
参数
x
指数值。
返回值
如果成功,则返回 x
以 2 为底的指数,即 2x。 否则,将返回下列值之一:
问题 | 返回值 |
---|---|
x = ±0 |
1 |
x = -INFINITY |
0+ |
x = +INFINITY |
+INFINITY |
x = NaN |
NaN |
溢出范围错误 | + HUGE_VAL、+ HUGE_VALF,或 + HUGE_VALL |
下溢范围错误 | 正确的结果(舍入后) |
按 _matherr
中所指定的内容报告错误。
备注
由于 C++ 支持重载,您可以调用采用并返回 exp2
和 float
类型的 long double
的重载。 在 C 程序中,除非使用 <tgmath.h> 宏来调用此函数,否则 exp2
始终采用并返回 double
,使用 <tgmath.h> 中的宏时则不是这样。
如果使用 <tgmath.h>exp2()
宏,则参数的类型将决定选择哪个版本的函数。 有关详细信息,请参阅泛型类型数学。
默认情况下,此函数的全局状态范围限定为应用程序。 若要更改此行为,请参阅 CRT 中的全局状态。
要求
例程 | C 标头 | C++ 标头 |
---|---|---|
.- . | <math.h> | <cmath> |
exp2 宏 |
<tgmath.h> |
有关兼容性的详细信息,请参阅 兼容性。