次の方法で共有


ldexp

浮動小数点数に整数である 2 の累乗を乗算します。

double ldexp(    double x,    int exp  ); float ldexp(    float x,    int exp );  // C++ only long double ldexp(    long double x,    int exp );  // C++ only  float ldexpf(    float x,    int exp );  long double ldexpl(    long double x,    int exp ); 

パラメーター

  • x
    浮動小数点値。

  • exp
    整数の指数。

戻り値

ldexp 関数は、成功した場合、x * 2exp の値を返します。 オーバーフローが発生すると、x の符号に応じて、ldexp は +/- HUGE_VAL を返します。errno の値は ERANGE に設定されます。

errno および可能なエラーの戻り値の詳細については、「errno、_doserrno、_sys_errlist、および _sys_nerr」を参照してください。

解説

C++ ではオーバーロードが可能であるため、float または long double 型を受け取る ldexp のオーバーロードを呼び出すことができます。 C プログラムでは、ldexp は常に double および int を受け取って double を返します。

必要条件

ルーチン

C ヘッダー

C++ ヘッダー

ldexp, ldexpf, ldexpl

<math.h>

<cmath>

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

使用例

// 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

同等の .NET Framework 関数

System::Math::Pow

参照

関連項目

浮動小数点サポート

frexp

modf、modff