fmod
, fmodf
fmodl
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 NaN
Wert 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 , fmodf fmodl |
<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
, ceilf
ceill
fabs
, fabsf
fabsl
floor
, floorf
floorl
_CIfmod