다음을 통해 공유


modf, modff

정수 부분과 소수 부분으로 부동 소수점 값을 분할합니다.

double modf( 
   double x, 
   double *intptr  
); 
float modf( 
   float x, 
   float *intptr 
);  // C++ only 
long double modf( 
   long double x, 
   long double * intptr 
);  // C++ only 
float modff( 
   float x, 
   float *intptr  
);

매개 변수

  • x
    부동 소수점 값.

  • intptr
    정수로 저장된 부분에 대한 포인터입니다.

반환 값

이 함수는 부호가있는 x의 소수부분을 반환합니다. 반환되는 오류가 없습니다.

설명

modf 함수는 정수부분과 소수부분으로 부동 소수점 값 x 를 나누는데, 이것은 각각 x. 로 같은 부호를 가지는 것과 부호가 있는 x 의 소수 부분으로 반환됩니다. 정수 부분은 intptr 에서 부동소수점으로써 저장됩니다.

modf 스트리밍 SIMD 확장 2 (SSE2)을 사용하여구현을 했습니다. SSE2 구현을 사용하여 제한과 정보에 대하여 _set_SSE2_enable 를 참고하세요.

C++ 오버 로딩을 허용하여 오버 로드인 modf 을 호출할 수 있습니다. C 프로그램에서 modf 는 항상 2개의 double 값을 사용하고 하나의 double 값을 반환합니다.

요구 사항

루틴

필수 헤더

modf, modff

<math.h>

호환성에 대한 자세한 내용은 소개 단원의 호환성 부분을 참조하십시오.

라이브러리

모든 버전의 C 런타임 라이브러리입니다.

예제

// 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 );
}

Output

For -14.876543, the fraction is -0.876543 and the integer is -14

해당 .NET Framework 항목

참고 항목

참조

부동 소수점 지원

Long Double

frexp

ldexp