acos, acosf, acosl

Menghitung arccosine.

Sintaks

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
Nilai antara -1 dan 1, untuk menghitung arkakosinus (kosinus terbalik).

Nilai hasil

Fungsi mengembalikan acos arkakosinus x dalam rentang 0 hingga radian π.

Secara default, jika x kurang dari -1 atau lebih besar dari 1, acos mengembalikan tidak terbatas.

Input Pengecualian SEH Pengecualian _matherr
± INF INVALID _DOMAIN
± QNaN, IND tidak ada _DOMAIN
|x| > 1 INVALID _DOMAIN

Keterangan

Karena C++ memungkinkan kelebihan beban, Anda dapat memanggil kelebihan beban acos yang mengambil dan mengembalikan float dan long double jenis. Dalam program C, kecuali Anda menggunakan <tgmath.h> makro untuk memanggil fungsi ini, acos selalu mengambil dan mengembalikan double.

Jika Anda menggunakan acos makro dari <tgmath.h>, jenis argumen menentukan versi fungsi mana yang dipilih. Lihat Matematika generik jenis untuk detailnya.

Secara default, status global fungsi ini dicakup ke aplikasi. Untuk mengubah perilaku ini, lihat Status global di CRT.

Persyaratan

Rutin Header yang diperlukan Header opsional
acos, acosf, acosl <math.h> <errno.h>
acos makro <tgmath.h>

Contoh

Program ini meminta nilai dalam rentang -1 hingga 1. Nilai input di luar rentang ini menghasilkan _DOMAIN pesan kesalahan. Jika nilai yang valid dimasukkan, program mencetak arkasinus dan arkakosinus dari nilai tersebut.

// 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

Baca juga

Dukungan matematika dan titik mengambang
asin, asinf, asinl
atan, atanf, atanl, atan2, atan2f, atan2l
cos, cosf, cosl
_matherr
sin, sinf, sinl
tan, tanf, tanl