ldexp
更新 : 2007 年 11 月
仮数と指数から実数を計算します。
double ldexp(
double x,
int exp
);
float ldexp(
float x,
int exp
); // C++ only
long double ldexp(
long double x,
int exp
); // C++ only
パラメータ
x
浮動小数点値。exp
整数の指数。
戻り値
正常終了した場合、ldexp 関数は x * 2 の exp 乗の値を返します。オーバーフローが発生すると、x の符号に応じて、+ HUGE_VAL または – HUGE_VAL を返し、変数 errno に ERANGE を設定します。
戻り値の詳細については、「_doserrno、errno、_sys_errlist、および _sys_nerr」を参照してください。
解説
C++ ではオーバーロードが可能であるため、ldexp のオーバーロードを呼び出すことができます。C プログラムでは、ldexp は常に倍精度浮動小数点数と整数を受け取り、倍精度浮動小数点数を返します。
必要条件
ルーチン |
必須ヘッダー |
---|---|
ldexp |
<math.h> |
互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。
ライブラリ
C ランタイム ライブラリのすべてのバージョン。
使用例
// crt_ldexp.c
#include <math.h>
#include <stdio.h>
int main( void )
{
double x = 4.0, y;
int p = 3;
y = ldexp( x, p );
printf( "%2.1f times two to the power of %d is %2.1f\n", x, p, y );
}
出力
4.0 times two to the power of 3 is 32.0