fmod(3) | Library Functions Manual | fmod(3) |
BEZEICHNUNG
fmod, fmodf, fmodl - Funktionen berechnen Divisionsrest als Fließkommazahl
BIBLIOTHEK
Mathematik-Bibliothek (libm, -lm)
ÜBERSICHT
#include <math.h>
double fmod(double x, double y); float fmodf(float x, float y); long double fmodl(long double x, long double y);
fmodf(), fmodl():
_ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L || /* Seit Glibc 2.19: */ _DEFAULT_SOURCE || /* Glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE
BESCHREIBUNG
Diese Funktionen berechnen den Rest der Division von x durch y als Fließkommazahl. Der Rückgabewert ist x - n * y, wobei n der zur Ganzzahl abgerundete Quotient von x / y ist.
Um den Modulus zu erhalten, genauer das kleinste positive Residuum, müssen Sie die Ausgabe von fmod wie folgt anpassen:
z = fmod(x, y); if (z < 0) z += y;
Alternativ können Sie das als fmod(fmod(x, y) + y, y) formulieren, aber das zweite fmod kostet deutlich mehr als eine Verzweigung.
RÜCKGABEWERT
Bei Erfolg geben diese Funktionen den Wert x - n*y für diejenige Ganzzahl n zurück, so dass der zurückgegebene Wert das gleiche Vorzeichen wie x hat und einen Betrag, der kleiner ist als der Betrag von y.
Falls x oder y keine Zahlen (»NaN«) sind, wird »NaN« zurückgegeben.
Falls x unendlich ist, tritt ein Wertebereichsfehler auf und es wird »NaN« zurückgegeben.
Falls y Null ist, tritt ein Wertebereichsfehler auf und es wird »NaN« zurückgegeben.
Falls x +0 (-0) und y nicht Null ist, wird +0 (-0) zurückgegeben.
FEHLER
In math_error(7) erfahren Sie, wie Sie Fehler bei der Ausführung dieser Funktionen erkennen.
Die folgenden Fehler können auftreten:
- Wertebereichsfehler: x ist unendlich
- errno wird auf EDOM gesetzt (siehe aber FEHLER). Es wird der Fließkomma-Ausnahmefehler »unzulässige Fließkommazahl« (FE_INVALID) ausgelöst.
- Wertebereichsfehler: y ist Null
- errno wird auf EDOM gesetzt. Es wird der Fließkomma-Ausnahmefehler »unzulässige Fließkommazahl« (FE_INVALID) ausgelöst.
ATTRIBUTE
Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.
Schnittstelle | Attribut | Wert |
fmod(), fmodf(), fmodl() | Multithread-Fähigkeit | MT-Sicher |
STANDARDS
C11, POSIX.1-2008.
GESCHICHTE
C99, POSIX.1-2001.
Die Variante, die double zurückgibt, ist außerdem konform zu SVr4, 4.3BSD, C89.
FEHLER
Vor Glibc 2.10 setzte die Glibc-Implementierung errno nicht auf EDOM, wenn ein Wertebereichsfehler für ein unendliches x auftrat.
BEISPIELE
Der Aufruf fmod(372, 360) liefert 348 zurück.
Der Aufruf fmod(-372, 360) liefert -12 zurück.
Der Aufruf fmod(-372, -360) liefert auch -12 zurück.
SIEHE AUCH
ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Markus Schmitt <fw@math.uni-sb.de>, Chris Leick <c.leick@vollbio.de> und Helge Kreutzmann <debian@helgefjell.de> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer.
2. Mai 2024 | Linux man-pages 6.8 |