ldexp
, , ldexpf
ldexpl
부동 소수점 수에 2의 정수 거듭제곱을 곱합니다.
구문
double ldexp(
double x,
int exp
);
float ldexpf(
float x,
int exp
);
long double ldexpl(
long double x,
int exp
);
#define ldexp(X, INT) // Requires C11 or higher
float ldexp(
float x,
int exp
); // C++ only
long double ldexp(
long double x,
int exp
); // C++ only
매개 변수
x
부동 소수점 값입니다.
exp
정수 지수입니다.
반환 값
함수는 ldexp
성공하면 * 2exp
값을 x
반환합니다. 오버플로 시 및 부 x
ldexp
호에 따라 +/- HUGE_VAL
errno
를 반환합니다. 값은 .로 ERANGE
설정됩니다.
오류 반환 값 및 가능한 오류 반환 값에 대한 errno
자세한 내용은 , _doserrno
, _sys_errlist
및 _sys_nerr
를 참조errno
하세요.
설명
C++에서는 오버로드를 허용하므로 ldexp
또는 float
형식을 사용하는 long double
의 오버로드를 호출할 수 있습니다. C 프로그램에서는 tgmath.h 매크로를 <사용하여 이 함수 ldexp
를 호출하지 않는 한 항상 a double
및 a int
를 사용하고 반환합니다double
.>
<tgmath.h>ldexp()
매크로를 사용하는 경우 인수 형식에 따라 선택되는 함수 버전이 결정됩니다. 자세한 내용은 형식-제네릭 수학을 참조하세요.
기본적으로 이 함수의 전역 상태는 애플리케이션으로 범위가 지정됩니다. 이 동작을 변경하려면 CRT 전역 상태를 참조하세요.
요구 사항
루틴에서 반환된 값 | C 헤더 | C++ 헤더 |
---|---|---|
ldexp , , ldexpf ldexpl |
<math.h> | <cmath> |
ldexp 매크로 |
<tgmath.h> |
호환성에 대한 자세한 내용은 호환성을 참조하세요.
예시
// 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