exp、expf
更新 : 2007 年 11 月
指数を計算します。
double exp(
double x
);
float exp(
float x
); // C++ only
long double exp(
long double x
); // C++ only
float expf(
float x
);
パラメータ
- x
浮動小数点値。
戻り値
正常に処理された場合、exp 関数は、浮動小数点パラメータ x の指数値を返します。つまり、結果は e の x 乗になります。ここで、e は自然対数の底です。exp は、オーバーフローの場合は INF (無限) を返し、アンダーフローの場合は 0 を返します。
入力 |
SEH 例外 |
Matherr 例外 |
---|---|---|
± QNAN、IND |
なし |
_DOMAIN |
± ∞ |
INVALID |
_DOMAIN |
x ≥ 7.097827e+002 |
INEXACT+OVERFLOW |
OVERFLOW |
X ≤ -7.083964e+002 |
INEXACT+UNDERFLOW |
UNDERFLOW |
exp には、SSE2 (Streaming SIMD Extensions 2) を使用する実装があります。SSE2 実装の使用に関する情報と制限については、「_set_SSE2_enable」を参照してください。
解説
C++ ではオーバーロードが可能であるため、exp のオーバーロードを呼び出すことができます。C プログラムでは、exp は常に倍精度浮動小数点数を受け取り、倍精度浮動小数点数を返します。
必要条件
関数 |
必須ヘッダー |
---|---|
exp, expf |
<math.h> |
互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。
使用例
// crt_exp.c
#include <math.h>
#include <stdio.h>
int main( void )
{
double x = 2.302585093, y;
y = exp( x );
printf( "exp( %f ) = %f\n", x, y );
}
exp( 2.302585 ) = 10.000000