다음을 통해 공유


fmod, , fmodffmodl

부동 소수점 나머지를 계산합니다.

구문

double fmod(
   double x,
   double y
);
float fmod(
   float x,
   float y
);  // C++ only
long double fmod(
   long double x,
   long double y
);  // C++ only
float fmodf(
   float x,
   float y
);
long double fmodl(
   long double x,
   long double y
);

#define fmod(X, Y) // Requires C11 or higher

매개 변수

x, y
부동 소수점 값입니다.

반환 값

fmodx / y의 부동 소수점 나머지를 반환합니다. 값 y 이 0.0 fmod 이면 quiet NaN를 반환합니다. 가족의 조용한 NaN 표현에 대한 자세한 내용은 다음을 printf 참조하세요 printf.

설명

fmod 함수는 x / y의 부동 소수점 나머지 f를 계산합니다(예: x = i * y + f). 여기서 i는 정수이고, f의 부호는 x와 같고, f의 절대값은 y의 절대값보다 작습니다.

C++에서는 오버로드를 허용하므로 floatlong double 값을 사용 및 반환하는 fmod의 오버로드를 호출할 수 있습니다. C 프로그램에서는 매크로를 사용하여 <tgmath.h> 이 함수 fmod 를 호출하지 않는 한 항상 두 개의 double 인수를 가져와서 반환합니다 double.

매크로<tgmath.h>fmod 사용하는 경우 인수 형식에 따라 선택한 함수 버전이 결정됩니다. 자세한 내용은 형식-제네릭 수학을 참조하세요.

기본적으로 이 함수의 전역 상태는 애플리케이션으로 범위가 지정됩니다. 이 동작을 변경하려면 CRT 전역 상태를 참조하세요.

요구 사항

함수 필수 헤더
fmod, , fmodffmodl <math.h>
fmod 매크로 <tgmath.h>

호환성에 대한 자세한 내용은 호환성을 참조하세요.

예시

// crt_fmod.c
// This program displays a floating-point remainder.

#include <math.h>
#include <stdio.h>

int main( void )
{
   double w = -10.0, x = 3.0, z;

   z = fmod( w, x );
   printf( "The remainder of %.2f / %.2f is %f\n", w, x, z );
}
The remainder of -10.00 / 3.00 is -1.000000

참고 항목

수학 및 부동 소수점 지원
ceil, , ceilfceill
fabs, , fabsffabsl
floor, , floorffloorl
_CIfmod