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

참고 항목

수학 및 부동 소수점 지원
frexp
ldexp