acos
, acosf
acosl
Berechnet den Arkuskosinus.
Syntax
double acos( double x );
float acosf( float x );
long double acosl( long double x );
#define acos(X) // Requires C11 or higher
float acos( float x ); // C++ only
long double acos( long double x ); // C++ only
Parameter
x
Wert zwischen -1 und 1, für den der Arkuskosinus (umgekehrter Kosinus) berechnet werden soll.
Rückgabewert
Die acos
Funktion gibt den Arkuskosinus des x
Bereichs 0 bis π Bogenmaß zurück.
Wenn sie kleiner als -1 oder größer als 1 ist, acos
wird standardmäßig x
eine unbestimmte Zeit zurückgegeben.
Eingabe | SEH-Ausnahme | _matherr -Ausnahme |
---|---|---|
± INF | INVALID |
_DOMAIN |
± QNaN, IND | keine | _DOMAIN |
|x| > 1 |
INVALID |
_DOMAIN |
Hinweise
Da C++ das Überladen zulässt, können Sie Überladungen von acos
aufrufen, die float
und long double
-Typen verwenden und zurückgeben. In einem C-Programm, es sei denn, Sie verwenden das <tgmath.h>
Makro, um diese Funktion aufzurufen, acos
verwendet immer und gibt eine double
zurück.
Wenn Sie das acos
Makro <tgmath.h>
verwenden, bestimmt der Typ des Arguments, welche Version der Funktion ausgewählt ist. Ausführliche Informationen finden Sie unter Typgengenerische Mathematik.
Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Wie Sie dieses Verhalten ändern, erfahren Sie unter Globaler Status in der CRT.
Anforderungen
Routine | Erforderlicher Header | Optionale Header |
---|---|---|
acos , acosf acosl |
<math.h> |
<errno.h> |
acos -Makro |
<tgmath.h> |
Beispiel
Dieses Programm fordert zur Eingabe eines Werts im – 1 bis 1 auf. Eingabewerte außerhalb dieses Bereichs erzeugen _DOMAIN
-Fehlermeldungen. Wenn ein gültiger Wert eingegeben wird, gibt das Programm den Arkussinus und den Arkuskosinus dieses Werts aus.
// crt_asincos.c
// arguments: 0
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
int main( int ac, char* av[] )
{
double x,
y;
errno_t err;
// argument checking
if (ac != 2)
{
fprintf_s( stderr, "Usage: %s <number between -1 and 1>\n",
av[0]);
return 1;
}
// Convert argument into a double value
if ((err = sscanf_s( av[1], "%lf", &x )) != 1)
{
fprintf_s( stderr, "Error converting argument into ",
"double value.\n");
return 1;
}
// Arcsine of X
y = asin( x );
printf_s( "Arcsine of %f = %f\n", x, y );
// Arccosine of X
y = acos( x );
printf_s( "Arccosine of %f = %f\n", x, y );
}
Arcsine of 0.000000 = 0.000000
Arccosine of 0.000000 = 1.570796
Siehe auch
Mathematische Unterstützung und Gleitkommaunterstützung
asin
, asinf
asinl
atan
, , atanf
atanl
, atan2
, , atan2f
atan2l
cos
, cosf
cosl
_matherr
sin
, sinf
sinl
tan
, tanf
tanl