Partager via


atan, atanf, atanl, atan2, atan2f, atan2l

Calcule l'arctangente de x (atan, atanf, et atanl) ou l'arctangente de y/x (atan2, atan2f, et 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
);

Paramètres

  • x, y
    Nombres quelconques.

Valeur de retour

atan retourne l'arctangente de x dans la plage – π/2 à π/2 radians. atan2 retourne l'arctangente de y/x dans la plage – π à π radians. Si x est égal à 0, atan, renvoie 0 . Si les deux paramètres de atan2 sont 0, la fonction renvoie 0. Tous les résultats sont en radians.

atan2 utilise les signes des deux paramètres pour déterminer le quadrant de la valeur retournée.

Entrée

Exception SEH

Exception Matherr

± QNAN,IND

aucun

_DOMAIN

Notes

La fonction atan calcule arctangente (la fonction inverse de la tangente) de x. atan2 calcule l'arctangente de y/x (si x est égal à 0, atan2 retourne π/2 si y est positif, - π/2 si y est négatif, ou nul si y est égal à 0.)

atan a une implémentation qui utilise les extensions Streaming SIMD 2 (SSE2). Pour plus d'informations et de restrictions sur l'utilisation de l'implémentation SSE2, consultez _set_SSE2_enable.

Comme C++ permet une surcharge, vous pouvez appeler des surcharges de atan et atan2. Dans un programme C, atan et atan2 prennent et retournent toujours des doubles.

Configuration requise

Routine

En-tête requis

atan, atan2, atanf, atan2f, atanl, atan2l

<math.h>

Exemple

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

Équivalent .NET Framework

Voir aussi

Référence

Prise en charge de la virgule flottante

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