Namensräume
Varianten
Aktionen

acos, acosf, acosl

Von cppreference.com
< c‎ | numerik‎ | math
 
 
 
Allgemeine mathematische Funktionen
Funktionen
Grundlegende Operationen
(C99)
(C99)
(C99)
(C99)(C99)(C99)(C23)
Maximum/Minimum-Operationen
(C99)
(C99)
Exponentialfunktionen
(C23)
(C99)
(C99)
(C23)
(C23)

(C99)
(C99)(C23)
(C23)
(C23)
Potenzfunktionen
(C99)
(C23)
(C23)

(C99)
(C23)
(C23)
Trigonometrische und hyperbolische Funktionen
acos
(C23)
(C23)
(C23)
(C23)
(C23)
(C23)
(C23)
(C99)
(C99)
(C99)
Nächste ganze Gleitkommazahlen
(C99)(C99)(C99)
(C99)

(C99)(C99)(C99)
(C23)(C23)(C23)(C23)
Gleitkomma-Manipulation
(C99)(C99)
(C99)(C23)
(C99)
Verengende Operationen
(C23)
(C23)
(C23)
(C23)
(C23)
(C23)
Quanten- und Quantenexponent-Funktionen
Dezimal-Neu-Kodierungsfunktionen
Gesamtordnung und Payload-Funktionen
Klassifizierung
(C99)
(C99)
(C99)
(C23)
Fehler- und Gammafunktionen
(C99)
(C99)
(C99)
(C99)
Typen
Makrokonstanten
Spezielle Gleitkommawerte
(C99)(C23)
Argumente und Rückgabewerte
Fehlerbehandlung
Schnelle Operationsanzeigen
 
Definiert in Header <math.h>
float       acosf( float arg );
(1) (seit C99)
double      acos( double arg );
(2)
long double acosl( long double arg );
(3) (seit C99)
_Decimal32  acosd32( _Decimal32 arg );
(4) (seit C23)
_Decimal64  acosd64( _Decimal64 arg );
(5) (seit C23)
_Decimal128 acosd128( _Decimal128 arg );
(6) (seit C23)
Definiert in Header <tgmath.h>
#define acos( arg )
(7) (seit C99)
1-6) Berechnet den Hauptwert des Arkuskosinus von arg.
7) Typgenerische Makro: Wenn das Argument vom Typ long double ist, wird (3) (acosl) aufgerufen. Andernfalls, wenn das Argument einen ganzzahligen Typ oder den Typ double hat, wird (2) (acos) aufgerufen. Andernfalls wird (1) (acosf) aufgerufen. Wenn das Argument komplex ist, ruft das Makro die entsprechende komplexe Funktion auf (cacosf, cacos, cacosl).

Die Funktionen (4-6) werden nur dann deklariert, wenn die Implementierung __STDC_IEC_60559_DFP__ vordefiniert (d. h. die Implementierung unterstützt Dezimal-Gleitkommazahlen).

(seit C23)

Inhalt

[bearbeiten] Parameter

arg - Gleitkommawert

[bearbeiten] Rückgabewert

Wenn keine Fehler auftreten, wird der Arkuskosinus von arg (arccos(arg)) im Bereich [0 ; π] zurückgegeben.

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.

Domänenfehler tritt auf, wenn arg außerhalb des Bereichs [-1.0; 1.0] liegt.

Wenn die Implementierung IEEE-Gleitkomma-Arithmetik (IEC 60559) unterstützt

  • Wenn das Argument +1 ist, wird der Wert +0 zurückgegeben;
  • Wenn |arg| > 1, tritt ein Domänenfehler auf und NaN wird zurückgegeben;
  • Wenn das Argument NaN ist, wird NaN zurückgegeben.

[bearbeiten] Beispiel

#include <errno.h>
#include <fenv.h>
#include <math.h>
#include <stdio.h>
#include <string.h>
 
#ifndef __GNUC__
#pragma STDC FENV_ACCESS ON
#endif
 
int main(void)
{
    printf("acos(-1) = %f\n", acos(-1));
    printf("acos(0.0) = %f 2*acos(0.0) = %f\n", acos(0), 2 * acos(0));
    printf("acos(0.5) = %f 3*acos(0.5) = %f\n", acos(0.5), 3 * acos(0.5));
    printf("acos(1) = %f\n", acos(1));
 
    // error handling
    errno = 0; feclearexcept(FE_ALL_EXCEPT);
    printf("acos(1.1) = %f\n", acos(1.1));
    if (errno == EDOM)
        perror("    errno == EDOM");
    if (fetestexcept(FE_INVALID))
        puts("    FE_INVALID raised");
}

Mögliche Ausgabe

acos(-1) = 3.141593
acos(0.0) = 1.570796 2*acos(0.0) = 3.141593
acos(0.5) = 1.047198 3*acos(0.5) = 3.141593
acos(1) = 0.000000
acos(1.1) = nan
    errno == EDOM: Numerical argument out of domain
    FE_INVALID raised

[bearbeiten] Referenzen

  • C23-Standard (ISO/IEC 9899:2024)
  • 7.12.4.1 Die acos-Funktionen (S. TBD)
  • 7.25 Typ-generische Mathematik <tgmath.h> (S. TBD)
  • F.10.1.1 Die acos-Funktionen (S. TBD)
  • C17-Standard (ISO/IEC 9899:2018)
  • 7.12.4.1 Die acos-Funktionen (S. 173)
  • 7.25 Typ-generische Mathematik <tgmath.h> (S. 272-273)
  • F.10.1.1 Die acos-Funktionen (S. 378)
  • C11-Standard (ISO/IEC 9899:2011)
  • 7.12.4.1 Die acos-Funktionen (S. 238)
  • 7.25 Typ-generische Mathematik <tgmath.h> (S. 373-375)
  • F.10.1.1 Die acos-Funktionen (S. 518)
  • C99-Standard (ISO/IEC 9899:1999)
  • 7.12.4.1 Die acos-Funktionen (S. 218)
  • 7.22 Typ-generische Mathematik <tgmath.h> (S. 335-337)
  • F.9.1.1 Die acos-Funktionen (S. 455)
  • C89/C90-Standard (ISO/IEC 9899:1990)
  • 4.5.2.1 Die acos-Funktion

[bearbeiten] Siehe auch

(C99)(C99)
berechnet Arkussinus (arcsin(x))
(Funktion) [bearbeiten]
(C99)(C99)
berechnet Arkustangens (arctan(x))
(Funktion) [bearbeiten]
berechnet Arkustangens und verwendet Vorzeichen zur Bestimmung der Quadranten
(Funktion) [bearbeiten]
(C99)(C99)
berechnet Kosinus (cos(x))
(Funktion) [bearbeiten]
(C99)(C99)(C99)
berechnet den komplexen Arkuskosinus
(Funktion) [bearbeiten]