.- .

计算 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++ 支持重载,您可以调用采用并返回 exp2float 类型的 long double 的重载。 在 C 程序中,除非使用 <tgmath.h> 宏来调用此函数,否则 exp2 始终采用并返回 double,使用 <tgmath.h> 中的宏时则不是这样。

如果使用 <tgmath.h>exp2() 宏,则参数的类型将决定选择哪个版本的函数。 有关详细信息,请参阅泛型类型数学

默认情况下,此函数的全局状态范围限定为应用程序。 若要更改此行为,请参阅 CRT 中的全局状态

要求

例程 C 标头 C++ 标头
.- . <math.h> <cmath>
exp2 <tgmath.h>

有关兼容性的详细信息,请参阅 兼容性

另请参阅

按字母顺序显示的函数参考