ldexp
仮数と指数部の実数を計算します。
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 *2exp の値。オーバーフロー (x) の符号に応じてldexp は+HUGE_VAL; errno の変数は ERANGE に設定されます。
戻り値の詳細については、「_doserrno、errno、_sys_errlist、および _sys_nerr」を参照してください。
解説
C++ ではオーバーロードが可能であるため、ldexp のオーバーロードを呼び出すことができます。C. のプログラムではldexp はとは常に整数を受け取りdouble を返します。
必要条件
ルーチン |
必須ヘッダー |
---|---|
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