Math.h
math.h ist eine Header-Datei in der Standard C Library der Programmiersprache C. Sie wurde für mathematische Funktionen entwickelt. Die Programmiersprache C++ benutzt die Funktionen ebenfalls, um die Kompatibilität von C zu C++ zu gewährleisten und deklariert sie in der Header-Datei cmath (dort ohne die Dateinamenserweiterung „.h“ verwendet).
Alle Funktionen, die einen Winkel einlesen oder ausgeben, arbeiten mit Radiant. Die meisten Funktionen arbeiten mit Gleitkommazahlen. Mathematische Funktionen, die mit ganzzahligen Werten (Integer) arbeiten, wie abv, labs, div oder ldiv, sind stattdessen in der Header-Datei stdlib.h vertreten.
Funktionen bis C95
In den Normen bis einschließlich C95 waren die folgenden Funktionen deklariert.
Name | Beschreibung |
---|---|
acos |
Arkuskosinus |
asin |
Arkussinus |
atan |
Arkustangens, mit einem Argument |
atan2 |
Arkustangens, mit zwei Argumenten |
ceil |
Aufrundungsfunktion |
cos |
Kosinus |
cosh |
Kosinus Hyperbolicus |
exp |
Exponentialfunktion |
fabs |
Betragsfunktion |
floor |
Ganzteilfunktion |
fmod |
Führt die Modulo Funktion für Gleitkommazahlen durch |
frexp |
Teilt eine Gleitkommazahl in Faktor und Potenz mit der Basis 2 auf |
ldexp |
Multipliziert die eingegebene Faktor mit 2 um den Exponent potenziert, f · 2 exp |
log |
Natürlicher Logarithmus |
log10 |
Logarithmus zur Basis 10 |
modf(x,p) |
Teilt eine Gleitkommazahl in zwei Zahlen auf vor und nach dem Komma |
pow(x,y) |
Potenziert x mit dem Exponent y, xy |
sin |
Sinus |
sinh |
Sinus Hyperbolicus |
sqrt |
Quadratwurzel |
tan |
Tangens |
tanh |
Tangens Hyperbolicus |
C99-Funktionen
Mit der Norm C99 wurde math.h um die folgenden Funktionen erweitert.
Name | Beschreibung |
---|---|
acosh |
Areakosinus Hyperbolicus |
asinh |
Areakosinus Hyperbolicus |
atanh |
Areatangens Hyperbolicus |
cbrt |
Kubikwurzel |
copysign(x,y) |
gibt den Wert von x mit dem Vorzeichen von y zurück |
erf |
Fehlerfunktion |
erfc |
Gibt den Komplementärfehler von x zurück |
exp2(x) |
Potenziert 2 mit x, 2x |
expm1(x) |
Liefert den wert von exp()-1 zurück, ex − 1 |
fdim(x,y) |
Positive differenz zwischen x and y, fmax (x−y, 0) |
fma(x,y,z) |
Multipliziert und Addiert, (x * y) + z |
fmax(x,y) |
Maximum |
fmin(x,y) |
Minimunm |
hypot(x,y) |
Hypotenuse, sqrt (x2 + y2) |
ilogb |
der Exponent einer Gleitkommazahl wird ein int zurückgegeben
|
lgamma |
Gammafunktion |
llrint |
Rundungsfunktion |
lrint |
Rundungsfunktion |
llround |
Rundungsfunktion |
lround |
Rundungsfunktion |
log1p(x) |
Natürlicher Logarithmus von 1 + x |
log2 |
Logarithmus zur Basis 2 |
logb |
Liefert den ganzzahligen Exponenten einer Gleitpunktzahl |
nan(s) |
Ein NaN erzeugen |
nearbyint |
Rundet Gleitkommazahlen zum nächsten Integer |
nextafter(x,y) |
Gibt die nächst darstellbare Zahl nach x (Richtung y) zurück |
nexttoward(x,y) |
Genauso wie nextafter , bis auf y wird immer als long double zurückgegeben
|
remainder(x,y) |
Rest einer Division |
remquo(x,y,p) |
Genauso wie remainder , speichert jedoch den Quotienten (als int ) als Ziel des Zeigers p
|
rint |
Rundet zum Integer |
round |
Rundungsfunktion |
scalbln(x,n) |
x * FLT_RADIX n (n ist long )
|
scalbn(x,n) |
x * FLT_RADIX n (n ist int )
|
tgamma |
Gammafunktion |
trunc |
Trunktiert eine Gleitkommazahl |
Beispiel
#include <stdlib.h>
#include <math.h>
int main()
{
float a = 5, b = 4, c;
c = pow(a, b);
return EXIT_SUCCESS;
}
Weblinks
- Rationale for International Standard – Programming Languages – C. Abgerufen am 4. September 2011 (pdf/ C99).
- C Standard-Bibliothek: math.h. Abgerufen am 4. September 2011.