Partilhar via


atan, atanf, atanl, atan2, atan2f, atan2l

Calcula o arco tangente de x (atan, atanf, e atanl) ou o arco tangente de y/x (atan2, atan2f, e atan2l).

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 
);
long double atanl(
   long double x
);
float atan2f(
   float y,
   float x
);
long double atan2l(
   long double y,
   long double x
);

Parâmetros

  • x, y
    Alguns números.

Valor de retorno

atan retorna o arco tangente de x no intervalo – π/2 em radianos π/2. atan2 retorna o arco tangente de y/x no intervalo – π em radianos de π. Se x for 0, retornará 0 de atan . Se ambos os parâmetros de atan2 for 0, a função retornará 0. Todos os resultados estão em radianos.

atan2 usa sinais de ambos os parâmetros determinar o quadrante do valor de retorno.

Entrada

Exceção SEH

Exceção Matherr

± QNAN,IND

nenhum

_DOMAIN

Comentários

A função de atan calcula o arco tangente (inversa da função tangente) de x. atan2 calcula o arco tangente de y/x (se x é igual a 0, atan2 retorna π/2 se y for positivo, - π/2 se y for negativo, ou 0 se y é 0.)

atan tiver uma implementação que usa Streaming SIMD 2 (SSE2 Extensions). Para obter informações e as restrições sobre como usar a implementação SSE2, consulte _set_SSE2_enable.

Como C++ reserva evitada, você pode chamar sobrecargas de atan e de atan2. No programa c, atan e atan2 sempre levam e retornam duplas.

Requisitos

Rotina

Cabeçalho necessário

atan, atan2, atanf, atan2f, atanl, atan2l

<math.h>

Exemplo

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

Equivalência do .NET Framework

Consulte também

Referência

Suporte de ponto flutuante

acos, acosf, acosl

asin, asinf, asinl

cos, cosf, cosl, cosh, coshf, coshl

_matherr

sin, sinf, sinl, sinh, sinhf, sinhl

tan, tanf, tanl, tanh, tanhf, tanhl

_CIatan

_CIatan2