modf
, , modff
modfl
부동 소수점 값을 소수 부분과 정수 부분으로 분할합니다.
구문
double modf( double x, double * intptr );
float modff( float x, float * intptr );
long double modfl( long double x, long double * intptr );
float modf( float x, float * intptr ); // C++ only
long double modf( long double x, long double * intptr ); // C++ only
매개 변수
x
부동 소수점 값입니다.
intptr
저장된 정수 부분에 대한 포인터입니다.
반환 값
이 함수는 서명된 소수 부분을 반환합니다 x
. 오류 반환이 없습니다.
설명
modf
함수는 부동 소수점 값 x
를 소수 부분과 정수 부분으로 분할합니다. 각 부분의 부호는 x
와 같습니다. x
의 부호 있는 소수 부분이 반환됩니다. 정수 부분은 부동 소수점 값 intptr
으로 저장됩니다.
modf
에는 SSE2(스트리밍 SIMD 확장 2)를 사용하는 구현이 포함됩니다. SSE2 구현 사용에 대한 정보 및 제한을 참조 _set_SSE2_enable
하세요.
C++에서는 오버로드를 허용하므로 float
또는 long double
매개 변수를 사용 및 반환하는 modf
의 오버로드를 호출할 수 있습니다. C 프로그램에서 modf
는 항상 double 값 두 개를 사용하며 double 값 하나를 반환합니다.
기본적으로 이 함수의 전역 상태는 애플리케이션으로 범위가 지정됩니다. 이 동작을 변경하려면 CRT 전역 상태를 참조하세요.
요구 사항
루틴에서 반환된 값 | 필수 헤더 |
---|---|
modf , , modff modfl |
C: <math.h> C++: 또는 <cmath> <math.h> |
호환성에 대한 자세한 내용은 호환성을 참조하세요.
예시
// crt_modf.c
#include <math.h>
#include <stdio.h>
int main( void )
{
double x, y, n;
x = -14.87654321; /* Divide x into its fractional */
y = modf( x, &n ); /* and integer parts */
printf( "For %f, the fraction is %f and the integer is %.f\n",
x, y, n );
}
For -14.876543, the fraction is -0.876543 and the integer is -14