Udostępnij za pośrednictwem


atan, atanf, atanl, atan2, atan2f, atan2l

Calculates the arctangent of x (atan, atanf, and atanl) or the arctangent of y/x (atan2, atan2f, and 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
);

Parametry

  • x, y
    Dowolne liczby.

Wartość zwracana

atanZwraca arcus tangens liczby x w zakresie –π/2 do π/2 radianów.atan2Zwraca arcus tangens liczby y/x w –π zakresie na radiany π.If x is 0, atan returns 0.Jeśli oba parametry z atan2 są równe 0, funkcja zwraca wartość 0.Wszystkie wyniki są w radianach.

atan2używa oznak oba parametry, aby określić Kwadrant wartości zwracanej.

Dane wejściowe

Wyjątek SEH

Wyjątek Matherr

± QNAN,IND

brak

_DOMAIN

Uwagi

atan , Funkcja oblicza tangens (odwrotna funkcja tangens) x.atan2Oblicza tangens z y/x (Jeśli x jest równe 0, atan2 zwraca wartość π/2, jeśli y jest dodatnia, if - π/2 y jest ujemne lub 0, jeśli y ma wartość 0.)

atanma implementację, który używa Streaming SIMD Extensions 2 (SSE2).Aby uzyskać informacje i ograniczenia dotyczące korzystania z implementacji SSE2, zobacz _set_SSE2_enable.

Ponieważ C++ pozwala na przeciążenie, można wywoływać przeciążenia atan i atan2.W programie C atan i atan2 zawsze podjąć i powrócić podwaja się.

Wymagania

Procedura

Wymagany nagłówek

atan, atan2, atanf, atan2f, atanl, atan2l

<math.h>

Przykład

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

Odpowiednik w programie .NET Framework

Zobacz też

Informacje

Obsługa liczb zmiennoprzecinkowych

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