C Standard-Bibliothek

Mathematische Funktionen: <math.h>


Die Definitionsdatei <math.h> vereinbart mathematische Funktionen und Makros.

Die Makros EDOM und ERANGE (die man in <errno.h> findet), sind von Null verschiedene ganzzahlige Konstanten, mit denen Fehler im Argument- und Resultatbereich der Funktionen angezeigt werden; HUGE_VAL ist ein positiver double-Wert. Ein Argumentfehler (domain error) liegt vor, wenn ein Argument nicht in dem Bereich liegt, für den eine Funktion definiert ist. Bei einem Argumentfehler erhält errno den Wert EDOM; der Resultatwert hängt von der Implementierung ab. Ein Resultatfehler (range error) liegt vor, wenn das Resultat der Funktion nicht als double dargestellt werden kann. Ist das Resultat absolut zu groß, also bei overflow, liefert die Funktion HUGE_VAL mit dem korrekten Vorzeichen und errno erhält den Wert ERANGE. Ist das Resultat zu nahe bei Null, also bei underflow, liefert die Funktion null; je nach Implementation kann errno den Wert ERANGE erhalten.

In der folgenden Tabelle sind x und y vom Typ double, das Argument n ist ein int-Wert, und alle Funktionen liefern double. Winkel werden bei trigonometrischen Funktionen in Radian angegeben.

double sin(double x)Sinus von x
double cos(double x)Kosinus von x
double tan(double x)Tangens von x
double asin(double x)arcsin(x) im Bereich [-p/2, p/2], x Î [-1, 1].
double acos(double x)arccos(x) im Bereich [0, p], x Î [-1, 1].
double atan(double x)arctan(x) im Bereich [-p/2, p/2].
double atan2(double y, double x)

arctan(y/x) im Bereich [-p, p].

double sinh(double x)Sinus Hyperbolicus von x
double cosh(double x)Cosinus Hyperbolicus von x
double tanh(double x)Tangens Hyperbolicus von x
double exp(double x)Exponentialfunktion ex
double log(double x)natürlicher Logarithmus ln(x), x > 0.
double log10(double x)Logarithmus zur Basis 10 log10(x), x > 0.
double pow(double x, double y)xy. Ein Argumentfehler liegt vor bei x=0 und y<0, oder bei x<0 und y ist nicht ganzzahlig.
double sqrt(double x)Wurzel von x, x >= 0.
double ceil(double x)kleinster ganzzahliger Wert, der nicht kleiner als x ist, als double.
double floor (double x)größter ganzzahliger Wert, der nicht größer als x ist, als double.
double fabs(double x)absoluter Wert | x |
double ldexp(double x,n)x * 2n
double frexp(double x, int *exp)zerlegt x in eine normalisierte Mantisse im Bereich [½, 1], die als Resultat geliefert wird, und eine Potenz von 2, die in *exp abgelegt wird. Ist x null, sind beide Teile des Resultats null.
double modf(double x, double *ip)zerlegt x in einen ganzzahligen Teil und einen Rest, die beide das gleiche Vorzeichen wie x besitzen. Der ganzzahlige Teil wird bei *ip abgelegt, der Rest ist das Resultat.
double fmod(double x, double y)Gleitpunktrest von x/y, mit dem gleichen Vorzeichen wie x. Wenn y null ist, hängt das Resultat von der Implementierung ab.


[ Anfang der Seite | Inhaltsverzeichnis | Funktions-Register Header-Register ]

 

15. November 1999, Peter Klingebiel, DVZ