cos, cosf, cosl
| Definiert in Header <math.h> |
||
| float cosf( float arg ); |
(1) | (seit C99) |
| double cos( double arg ); |
(2) | |
| long double cosl( long double arg ); |
(3) | (seit C99) |
| _Decimal32 cosd32( _Decimal32 arg ); |
(4) | (seit C23) |
| _Decimal64 cosd64( _Decimal64 arg ); |
(5) | (seit C23) |
| _Decimal128 cosd128( _Decimal128 arg ); |
(6) | (seit C23) |
| Definiert in Header <tgmath.h> |
||
| #define cos( arg ) |
(7) | (seit C99) |
cosl) aufgerufen. Andernfalls, wenn das Argument einen Ganzzahltyp oder den Typ double hat, wird (2) (cos) aufgerufen. Andernfalls wird (1) (cosf) aufgerufen. Wenn das Argument komplex ist, ruft das Makro die entsprechende komplexe Funktion (ccosf, ccos, ccosl) auf.|
Die Funktionen (4-6) werden nur dann deklariert, wenn die Implementierung |
(seit C23) |
Inhalt |
[bearbeiten] Parameter
| arg | - | Gleitkommazahl, die den Winkel in Radiant darstellt |
[bearbeiten] Rückgabewert
Wenn keine Fehler auftreten, wird der Kosinus von arg (cos(arg)) im Bereich [-1 ; +1] zurückgegeben.
|
Das Ergebnis kann wenig oder keine Bedeutung haben, wenn die Größenordnung von arg groß ist. |
(bis C99) |
Wenn ein Domänenfehler auftritt, wird ein implementierungsabhängiger Wert zurückgegeben (NaN, wo unterstützt).
Wenn ein Bereichsfehler aufgrund eines Unterlaufs auftritt, wird das korrekte Ergebnis (nach Rundung) zurückgegeben.
[bearbeiten] Fehlerbehandlung
Fehler werden wie in math_errhandling angegeben gemeldet.
Wenn die Implementierung IEEE-Gleitkomma-Arithmetik (IEC 60559) unterstützt
- Wenn das Argument ±0 ist, ist das Ergebnis 1.0;
- wenn das Argument ±∞ ist, wird NaN zurückgegeben und FE_INVALID ausgelöst;
- Wenn das Argument NaN ist, wird NaN zurückgegeben.
[bearbeiten] Hinweise
Der Fall, dass das Argument unendlich ist, ist in C nicht als Definitionsbereichsfehler spezifiziert, aber in POSIX als Definitionsbereichsfehler definiert.
[bearbeiten] Beispiel
#include <errno.h> #include <fenv.h> #include <math.h> #include <stdio.h> #ifndef __GNUC__ #pragma STDC FENV_ACCESS ON #endif int main(void) { const double pi = acos(-1); // typical usage printf("cos(pi/3) = %f\n", cos(pi / 3)); printf("cos(pi/2) = %f\n", cos(pi / 2)); printf("cos(-3*pi/4) = %f\n", cos(-3 * pi / 4)); // special values printf("cos(+0) = %f\n", cos(0.0)); printf("cos(-0) = %f\n", cos(-0.0)); // error handling feclearexcept(FE_ALL_EXCEPT); printf("cos(INFINITY) = %f\n", cos(INFINITY)); if (fetestexcept(FE_INVALID)) puts(" FE_INVALID raised"); }
Mögliche Ausgabe
cos(pi/3) = 0.500000
cos(pi/2) = 0.000000
cos(-3*pi/4) = -0.707107
cos(+0) = 1.000000
cos(-0) = 1.000000
cos(INFINITY) = -nan
FE_INVALID raised[bearbeiten] Referenzen
- C23-Standard (ISO/IEC 9899:2024)
- 7.12.4.5 The cos functions (p: TBD)
- 7.25 Typ-generische Mathematik <tgmath.h> (S. TBD)
- F.10.1.5 The cos functions (p: TBD)
- C17-Standard (ISO/IEC 9899:2018)
- 7.12.4.5 The cos functions (p: 174)
- 7.25 Typ-generische Mathematik <tgmath.h> (S. 272-273)
- F.10.1.5 The cos functions (p: 378)
- C11-Standard (ISO/IEC 9899:2011)
- 7.12.4.5 The cos functions (p: 239)
- 7.25 Typ-generische Mathematik <tgmath.h> (S. 373-375)
- F.10.1.5 The cos functions (p: 519)
- C99-Standard (ISO/IEC 9899:1999)
- 7.12.4.5 The cos functions (p: 220)
- 7.22 Typ-generische Mathematik <tgmath.h> (S. 335-337)
- F.9.1.5 The cos functions (p: 456)
- C89/C90-Standard (ISO/IEC 9899:1990)
- 4.5.2.5 The cos function
[bearbeiten] Siehe auch
| (C99)(C99) |
berechnet Sinus (sin(x)) (Funktion) |
| (C99)(C99) |
berechnet Tangens (tan(x)) (Funktion) |
| (C99)(C99) |
berechnet Arkuskosinus (arccos(x)) (Funktion) |
| (C99)(C99)(C99) |
berechnet den komplexen Kosinus (Funktion) |
| C++ Dokumentation für cos
| |