다음을 통해 공유


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