frexp
, , frexpf
frexpl
부동 소수점 숫자의 가수 및 지수를 가져옵니다.
구문
double frexp(
double x,
int *expptr
);
float frexpf(
float x,
int * expptr
);
long double frexpl(
long double x,
int * expptr
);
#define frexpl(X, INT_PTR) // Requires C11 or higher
float frexp(
float x,
int * expptr
); // C++ only
long double frexp(
long double x,
int * expptr
); // C++ only
매개 변수
x
부동 소수점 값입니다.
expptr
저장된 정수 지수에 대한 포인터입니다.
반환 값
frexp
는 가수를 반환합니다. x
가 0이면 이 함수는 가수 및 지수에 대해 둘 다 0을 반환합니다. 이 경우 expptr
매개 변수 유효성 검사에 설명된 대로 잘못된 매개 변수 처리기가 호출됩니다.NULL
계속해서 실행하도록 허용한 경우 이 함수는 errno
를 EINVAL
로 설정하고 0을 반환합니다.
설명
이 함수는 frexp
부동 소수점 값(x
)을 가수() 및 지수(n
m
)로 나눕니다. 따라서 절대값 m
은 0.5보다 크거나 같고 1.0보다 작으며 = x
m
* 2n
입니다. 정수 지수 n
은 expptr
가 가리키는 위치에 저장됩니다.
C++에서는 오버로딩을 허용하므로 frexp
의 오버로드를 호출할 수 있습니다. C 프로그램에서 tgmath.h 매크로를 사용하여 <이 함수 frexp
를 호출하지 않는 한 항상 a double
및 포인터를 int
가져와서 반환합니다double
.>
<tgmath.h>frexp()
매크로를 사용하는 경우 인수 형식에 따라 선택되는 함수 버전이 결정됩니다. 자세한 내용은 형식-제네릭 수학을 참조하세요.
기본적으로 이 함수의 전역 상태는 애플리케이션으로 범위가 지정됩니다. 이 동작을 변경하려면 CRT 전역 상태를 참조하세요.
요구 사항
함수 | 필수 헤더 |
---|---|
frexp , , frexpf frexpl |
<math.h> |
frexp 매크로 |
<tgmath.h> |
호환성에 대한 자세한 내용은 호환성을 참조하세요.
예시
// crt_frexp.c
// This program calculates frexp( 16.4, &n )
// then displays y and n.
#include <math.h>
#include <stdio.h>
int main( void )
{
double x, y;
int n;
x = 16.4;
y = frexp( x, &n );
printf( "frexp( %f, &n ) = %f, n = %d\n", x, y, n );
}
frexp( 16.400000, &n ) = 0.512500, n = 5