- 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.
Inhaltsverzeichnis
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ückgegebenlgamma
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 alslong double
zurückgegebenremainder(x,y)
Rest einer Division remquo(x,y,p)
Genauso wie remainder
, speichert jedoch den Quotienten (alsint
) als Ziel des Zeigers print
Rundet zum Integer round
Rundungsfunktion scalbln(x,n)
x * FLT_RADIX
n (n istlong
)scalbn(x,n)
x * FLT_RADIX
n (n istint
)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.
Wikimedia Foundation.