次の方法で共有


exp2exp2fexp2l

指定した値の底 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++ ヘッダー
exp2expf2expl2 <math.h> <cmath>
exp2 マクロ <tgmath.h>

互換性の詳細については、「 Compatibility」を参照してください。

関連項目

関数リファレンス (アルファベット順)
expexpfexpllog2log2flog2l