acos
, , acosf
acosl
아크코사인을 계산합니다.
구문
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
매개 변수
x
-1에서 1 사이의 값으로, 아크코사인(역코사인)을 계산합니다.
반환 값
acos
함수는 0라디언에서 π라디언 사이의 범위에 있는 x
의 아크코사인을 반환합니다.
기본적으로 -1보다 작거나 1 acos
보다 큰 경우 x
무기한을 반환합니다.
입력 | SEH 예외 | _matherr 예외 |
---|---|---|
± INF | INVALID |
_DOMAIN |
± QNaN, IND | 없음 | _DOMAIN |
|x| > 1 |
INVALID |
_DOMAIN |
설명
C++는 오버로딩을 허용하기 때문에 acos
및 float
형식을 사용하고 반환하는 long double
의 오버로드를 호출할 수 있습니다. C 프로그램에서 매크로를 사용하여 이 함수 acos
를 <tgmath.h>
호출하지 않는 한 항상 double
.
매크로<tgmath.h>
를 acos
사용하는 경우 인수 형식에 따라 선택한 함수 버전이 결정됩니다. 자세한 내용은 형식-제네릭 수학을 참조하세요.
기본적으로 이 함수의 전역 상태는 애플리케이션으로 범위가 지정됩니다. 이 동작을 변경하려면 CRT 전역 상태를 참조하세요.
요구 사항
루틴에서 반환된 값 | 필수 헤더 | 선택적 헤더 |
---|---|---|
acos , , acosf acosl |
<math.h> |
<errno.h> |
acos 매크로 |
<tgmath.h> |
예시
이 프로그램에서 -1에서 1 사이 범위의 값을 묻는 메시지가 나타납니다. 이 범위를 벗어나는 입력 값은 _DOMAIN
오류 메시지를 생성합니다. 올바른 값을 입력하는 경우 프로그램에서 해당 값의 아크사인 및 아크코사인을 인쇄합니다.
// 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
참고 항목
수학 및 부동 소수점 지원
asin
, , asinf
asinl
atan
, atanf
, atanl
, atan2
, atan2f
atan2l
cos
, , cosf
cosl
_matherr
sin
, , sinf
sinl
tan
, , tanf
tanl