fmod, fmodffmodl

Berechnet den Gleitkommarest.

Syntax

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

Parameter

x, y
Gleitkommawerte.

Rückgabewert

fmod gibt den Gleitkommarest von x / y zurück. Wenn der Wert von y 0,0 ist, fmod wird ein ruhiger NaNWert zurückgegeben. Informationen zur Darstellung einer ruhenden NaN printf Familie finden Sie unter printf.

Hinweise

Die fmod-Funktion berechnet den Gleitkommarest f von x / y wie etwa x = i * y + f, wobei i eine ganze Zahl ist, f das gleiche Zeichen wie x hat und der absolute Wert von f kleiner ist als der absolute Wert von y.

Da C++ das Überladen zulässt, können Sie Überladungen von fmod aufrufen, die float- und long double-Werte verwenden und zurückgeben. In einem C-Programm, es sei denn, Sie verwenden das <tgmath.h> Makro, um diese Funktion aufzurufen, fmod verwendet immer zwei double Argumente und gibt ein double.

Wenn Sie das fmod Makro <tgmath.h>verwenden, bestimmt der Typ des Arguments, welche Version der Funktion ausgewählt ist. Ausführliche Informationen finden Sie unter Typgengenerische Mathematik.

Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Wie Sie dieses Verhalten ändern, erfahren Sie unter Globaler Status in der CRT.

Anforderungen

Funktion Erforderlicher Header
fmod, fmodffmodl <math.h>
fmod-Makro <tgmath.h>

Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.

Beispiel

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

Siehe auch

Mathematische Unterstützung und Gleitkommaunterstützung
ceil, ceilfceill
fabs, fabsffabsl
floor, floorffloorl
_CIfmod