다음을 통해 공유


atan, atanf, atan2, atan2f

Calculates the arctangent of x (atan or atanf) or the arctangent of y/x (atan2 or atan2f).

double atan( 
   double x 
);
float atan(
   float x 
);  // C++ only
long double atan(
   long double x
);  // C++ only
double atan2( 
   double y, 
   double x 
);
float atan2(
   float y,
   float x
);  // C++ only
long double atan2(
   long double y,
   long double x
);  // C++ only
float atanf( 
   float x 
);
float atan2f(
   float y,
   float x
);

매개 변수

  • x, y
    임의의 숫자입니다.

반환 값

atan아크탄젠트 값을 반환 합니다. x –π/2 π/2 라디안을 범위에서.atan2아크탄젠트 값을 반환 합니다. y/x 범위 –π π 라디안에의 합니다.If x is 0, atan returns 0.경우 두 매개 변수 모두의 atan2 0,이 함수는 0을 반환 합니다.모든 결과 라디안으로 표시 됩니다.

atan2두 매개 변수가 모두 흔적이 사분면의 반환 값을 확인 하려면 사용 합니다.

입력

SEH 예외

Matherr 예외

± QNAN,IND

없음

_DOMAIN

설명

atan 의 아크탄젠트를 계산 하는 함수 x.atan2아크탄젠트를 계산 y/x (경우 x 0 이면 atan2 경우 π/2를 반환 합니다. y +와-π / 2 경우 y 음수나 0입니다 y 0입니다.)

atan스트리밍 SIMD 확장 2 (SSE2)을 사용 하 여 구현을 했습니다.참조 하십시오 _set_SSE2_enable 에 대 한 정보와 SSE2 구현을 사용 하 여 제한 합니다.

C + + 수 오버, 오버 로드를 호출할 수 있도록 atanatan2.C 프로그램에서 atanatan2 항상 사용 하 고 double 값을 반환 합니다.

요구 사항

루틴

필수 헤더

atan, atan2, atanf, atan2f

<math.h>

예제

// crt_atan.c
// arguments: 5 0.5
#include <math.h>
#include <stdio.h>
#include <errno.h>

int main( int ac, char* av[] ) 
{
   double x, y, theta;
   if( ac != 3 ){
      fprintf( stderr, "Usage: %s <x> <y>\n", av[0] );
      return 1;
   }
   x = atof( av[1] );
   theta = atan( x );
   printf( "Arctangent of %f: %f\n", x, theta );
   y = atof( av[2] );
   theta = atan2( y, x );
   printf( "Arctangent of %f / %f: %f\n", y, x, theta ); 
   return 0;
}
  

해당 .NET Framework 항목

참고 항목

참조

부동 소수점 지원

acos, acosf

asin, asinf

cosf, cos cosh, coshf

_matherr

sin, sinf, sinh, sinhf

tan tanf, 않으면 tanh tanhf

_CIatan

_CIatan2