exp2
、 exp2f
、 exp2l
指定した値の底 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
の base-2 指数 、つまり 2x を返します。 それ以外の場合、次のいずれかの値を返します。
問題点 | Return |
---|---|
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++ ヘッダー |
---|---|---|
exp2 、 expf2 、 expl2 |
<math.h> | <cmath> |
exp2 マクロ |
<tgmath.h> |
互換性の詳細については、「 Compatibility」を参照してください。