„Math.h“ – Versionsunterschied
[gesichtete Version] | [gesichtete Version] |
IvanP (Diskussion | Beiträge) K Rechtschreibung |
Aka (Diskussion | Beiträge) K →Weblinks: https |
||
(4 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt) | |||
Zeile 15: | Zeile 15: | ||
|<code>atan</code> || [[Arkustangens]] || <math>\arctan x</math> |
|<code>atan</code> || [[Arkustangens]] || <math>\arctan x</math> |
||
|- |
|- |
||
|<code>atan2</code> || |
|<code>atan2</code> ||[[Arctan2|„Arkustangens“ mit zwei Argumenten]]||<math>\operatorname{atan2}(y, x)</math> |
||
|- |
|- |
||
|<code>ceil</code> || [[Aufrundungsfunktion]] || <math>\lceil x \rceil</math> |
|<code>ceil</code> || [[Aufrundungsfunktion]] || <math>\lceil x \rceil</math> |
||
Zeile 29: | Zeile 29: | ||
|<code>floor</code> || [[Ganzteilfunktion]] || <math>\lfloor x \rfloor</math> |
|<code>floor</code> || [[Ganzteilfunktion]] || <math>\lfloor x \rfloor</math> |
||
|- |
|- |
||
|<code>fmod</code> || Führt die [[Modulo]] |
|<code>fmod</code> || Führt die [[Modulo]]-Funktion für Gleitkommazahlen durch || <math>x \bmod y</math> |
||
|- |
|- |
||
|<code>frexp</code> || Teilt eine Gleitkommazahl in Faktor und Potenz mit der Basis 2 auf || |
|<code>frexp</code> || Teilt eine Gleitkommazahl in Faktor und Potenz mit der Basis 2 auf || |
||
Zeile 111: | Zeile 111: | ||
|<code>nextafter(''x'',''y'')</code> || Gibt die nächst darstellbare Zahl nach ''x'' (Richtung ''y'') zurück || |
|<code>nextafter(''x'',''y'')</code> || Gibt die nächst darstellbare Zahl nach ''x'' (Richtung ''y'') zurück || |
||
|- |
|- |
||
|<code>nexttoward(''x'',''y'')</code> || |
|<code>nexttoward(''x'',''y'')</code> || Wie <code>nextafter</code>, außer dass ''y'' als <code>long double</code> übergeben wird || |
||
|- |
|- |
||
|<code>remainder(''x'',''y'')</code> || Rest einer Division || |
|<code>remainder(''x'',''y'')</code> || Rest einer Division || |
||
Zeile 139: | Zeile 139: | ||
#include <math.h> |
#include <math.h> |
||
int main( |
int main() { |
||
double a = 5, b = 4; |
|||
{ |
|||
double c = pow(a, b); |
|||
c = pow(a, b); |
|||
printf("%f hoch %f ist %f\n", a, b, c); |
printf("%f hoch %f ist %f\n", a, b, c); |
||
return 0; |
|||
} |
} |
||
</syntaxhighlight> |
</syntaxhighlight> |
||
== Weblinks == |
== Weblinks == |
||
* {{Internetquelle|url= |
* {{Internetquelle|url=https://www.open-std.org/jtc1/sc22/wg14/www/C99RationaleV5.10.pdf|titel=Rationale for International Standard – Programming Languages – C|zugriff=2011-09-04|kommentar=C99|format=PDF, 898 kB}} |
||
* [ |
* [https://cplusplus.com/reference/cmath/ Beschreibung auf cplusplus.com] (englisch) |
||
* {{Webarchiv | url=http://www.dinkumware.com/manuals/default.aspx?manual=compleat&page=math.html | wayback=20100221150215 | text=Dokumentation von math.h auf dinkumware.com}} |
* {{Webarchiv | url=http://www.dinkumware.com/manuals/default.aspx?manual=compleat&page=math.html | wayback=20100221150215 | text=Dokumentation von math.h auf dinkumware.com}} |
||
Aktuelle Version vom 16. Oktober 2023, 22:00 Uhr
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
[Bearbeiten | Quelltext bearbeiten]In den Normen bis einschließlich C95 waren die folgenden Funktionen deklariert.
Name | Beschreibung | Mathematische Formulierung |
---|---|---|
acos |
Arkuskosinus | |
asin |
Arkussinus | |
atan |
Arkustangens | |
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 den ersten Parameter mit 2 um den zweiten Parameter potenziert | |
log |
Natürlicher Logarithmus | |
log10 |
Logarithmus zur Basis 10 | |
modf |
Teilt eine Gleitkommazahl in zwei Zahlen auf, vor und nach dem Komma | |
pow |
Potenziert ersten mit dem zweiten Parameter | |
sin |
Sinus | |
sinh |
Sinus hyperbolicus | |
sqrt |
Quadratwurzel | |
tan |
Tangens | |
tanh |
Tangens hyperbolicus |
C99-Funktionen
[Bearbeiten | Quelltext bearbeiten]Mit der Norm C99 wurde math.h um die folgenden Funktionen erweitert.
Name | Beschreibung | Mathematische Formulierung |
---|---|---|
acosh |
Areakosinus hyperbolicus | |
asinh |
Areasinus 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 dem übergebenen Parameter | |
expm1(x) |
Liefert den Wert von exp()-1 zurück | |
fdim(x,y) |
Positive Differenz | |
fma(x,y,z) |
Multipliziert und Addiert | |
fmax(x,y) |
Maximum | |
fmin(x,y) |
Minimum | |
hypot(x,y) |
Hypotenuse | |
ilogb |
wie logb , gibt allerdings int zurück |
(int)logb(x)
|
lgamma |
Logarithmus der 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 Gleitkommazahl als Gleitkommazahl | |
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) |
Wie nextafter , außer dass y als long double übergeben wird |
|
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 je nach Rundungsmodus zum nächsten Integer, gibt eine Gleitkommazahl zurück | |
round |
kaufmännische Rundungsfunktion | |
scalbln(x,y) |
x * FLT_RADIX y (y ist long ) |
|
scalbn(x,y) |
x * FLT_RADIX y (y ist int ) |
|
tgamma |
Gammafunktion | |
trunc |
Beschneidet eine Gleitkommazahl, d. h. rundet „Richtung Null“ |
Beispiel
[Bearbeiten | Quelltext bearbeiten]#include <stdio.h>
#include <math.h>
int main() {
double a = 5, b = 4;
double c = pow(a, b);
printf("%f hoch %f ist %f\n", a, b, c);
}
Weblinks
[Bearbeiten | Quelltext bearbeiten]- Rationale for International Standard – Programming Languages – C. (PDF, 898 kB) Abgerufen am 4. September 2011 (C99).
- Beschreibung auf cplusplus.com (englisch)
- Dokumentation von math.h auf dinkumware.com ( vom 21. Februar 2010 im Internet Archive)