fmod, fmodf
Collapse the table of content
Expand the table of content
Important This document may not represent best practices for current development, links to downloads and other resources may no longer be valid. Current recommended version can be found here. ArchiveDisclaimer

fmod, fmodf

Calculates the floating-point remainder.

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 


x, y
Floating-point values.

Return Value

fmod returns the floating-point remainder of x / y. If the value of y is 0.0, fmod returns a quiet NaN. For information about representation of a quiet NaN by the printf family, see printf.


The fmod function calculates the floating-point remainder f of x / y such that x = i * y + f, where i is an integer, f has the same sign as x, and the absolute value of f is less than the absolute value of y.

C++ allows overloading, so you can call overloads of fmod. In a C program, fmod always takes two doubles and returns a double.


Function Required header Compatibility
fmod, fmodf <math.h> ANSI, Win 98, Win Me, Win NT, Win 2000, Win XP

For additional compatibility information, see Compatibility in the Introduction.


All versions of the C run-time libraries.


// 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

See Also

Floating-Point Support Routines | ceil | fabs | floor | Run-Time Routines and .NET Framework Equivalents

© 2015 Microsoft