Freigeben über


acos, acosfacosl

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 doublezurü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, acosfacosl <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, asinfasinl
atan, , atanfatanl, atan2, , atan2fatan2l
cos, cosfcosl
_matherr
sin, sinfsinl
tan, tanftanl