exp2, exp2f, exp2l
From cppreference.com
| ヘッダー <math.h> で定義 |
||
| float exp2f( float n ); |
(1) | (C99以降) |
| double exp2( double n ); |
(2) | (C99以降) |
| long double exp2l( long double n ); |
(3) | (C99以降) |
| ヘッダー <tgmath.h> で定義 |
||
| #define exp2( n ) |
(4) | (C99以降) |
1-3) 指定されたべき乗
nで2を計算します。4) 型汎用マクロ:
nがlong double型の場合、exp2lが呼び出されます。それ以外の場合、nが整数型またはdouble型の場合、exp2が呼び出されます。それ以外の場合、exp2fが呼び出されます。目次 |
[編集] パラメータ
| n | - | floating-point value |
[編集] 戻り値
エラーが発生しない場合、nの基数2の指数(2n
)が返されます。
オーバーフローによる範囲エラーが発生した場合、+HUGE_VAL、+HUGE_VALF、または +HUGE_VALL が返されます。
アンダーフローによる範囲エラーが発生した場合、正確な結果 (丸め後) が返される。
[編集] エラー処理
エラーは math_errhandling で指定されたとおりに報告されます。
実装がIEEE浮動小数点算術 (IEC 60559) をサポートしている場合、
- 引数が±0の場合、1が返されます。
- 引数が-∞の場合、+0が返されます。
- 引数が+∞の場合、+∞が返されます。
- 引数がNaNの場合、NaNが返されます。
[編集] 例
このコードを実行
#include <errno.h> #include <fenv.h> #include <float.h> #include <math.h> #include <stdio.h> // #pragma STDC FENV_ACCESS ON int main(void) { printf("exp2(5) = %f\n", exp2(5)); printf("exp2(0.5) = %f\n", exp2(0.5)); printf("exp2(-4) = %f\n", exp2(-4)); // special values printf("exp2(-0.9) = %f\n", exp2(-0.9)); printf("exp2(-Inf) = %f\n", exp2(-INFINITY)); //error handling errno = 0; feclearexcept(FE_ALL_EXCEPT); printf("exp2(1024) = %f\n", exp2(1024)); if (errno == ERANGE) perror(" errno == ERANGE"); if (fetestexcept(FE_OVERFLOW)) puts(" FE_OVERFLOW raised"); }
実行結果の例
exp2(5) = 32.000000
exp2(0.5) = 1.414214
exp2(-4) = 0.062500
exp2(-0.9) = 0.535887
exp2(-Inf) = 0.000000
exp2(1024) = Inf
errno == ERANGE: Result too large
FE_OVERFLOW raised[編集] 参考文献
- C23標準 (ISO/IEC 9899:2024)
- 7.12.6.2 The exp2 functions (p: TBD)
- 7.25 Type-generic math <tgmath.h> (p: TBD)
- F.10.3.2 The exp2 functions (p: TBD)
- C17標準 (ISO/IEC 9899:2018)
- 7.12.6.2 The exp2 functions (p: 177)
- 7.25 型総称数学関数 <tgmath.h> (p: 272-273)
- F.10.3.2 The exp2 functions (p: 379)
- C11標準 (ISO/IEC 9899:2011)
- 7.12.6.2 The exp2 functions (p: 242-243)
- 7.25 型総称数学関数 <tgmath.h> (p: 373-375)
- F.10.3.2 The exp2 functions (p: 521)
- C99標準 (ISO/IEC 9899:1999)
- 7.12.6.2 The exp2 functions (p: 223)
- 7.22 型総称数学関数 <tgmath.h> (p: 335-337)
- F.9.3.2 The exp2 functions (p: 458)
[編集] 関連項目
| (C99)(C99) |
指定されたべき乗のeを計算する (ex) (関数) |
| (C99)(C99)(C99) |
指定されたべき乗のeから1を引いた値を計算する (ex-1) (関数) |
| (C99)(C99)(C99) |
底-2対数を計算する (log2(x)) (関数) |
| C++ ドキュメント for exp2
| |