atan, atanf, atanl, atan2, atan2f, atan2latan, atanf, atanl, atan2, atan2f, atan2l

Oblicza arcus tangens liczby x (atan, atanf — i atanl) lub arcus tangens liczby y / x (atan2, atan2f — i atan2l).Calculates the arctangent of x (atan, atanf, and atanl) or the arctangent of y/x (atan2, atan2f, and atan2l).

SkładniaSyntax

double atan( double x );
float atanf( float x );
long double atanl( long double x );

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

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

ParametryParameters

x, yx, y
Wszystkie liczby.Any numbers.

Wartość zwracanaReturn Value

atan zwraca arcus tangens x w zakresie od π/2 do π/2 radianów.atan returns the arctangent of x in the range -π/2 to π/2 radians. Funkcja atan2 zwraca arcus tangens liczby y / x w zakresie od π do π radianów.atan2 returns the arctangent of y/x in the range -π to π radians. Jeśli x to 0, atan zwraca 0.If x is 0, atan returns 0. Jeśli oba parametry atan2 mają wartość 0, funkcja zwraca wartość 0.If both parameters of atan2 are 0, the function returns 0. Wszystkie wyniki są w radianach.All results are in radians.

Funkcja atan2 używa znaków obu parametrów, aby określić ćwiartkę zwracanej wartości.atan2 uses the signs of both parameters to determine the quadrant of the return value.

Dane wejścioweInput Wyjątek SEHSEH Exception Wyjątek MatherrMatherr Exception
QNAN, IND± QNAN, IND braknone _DOMAIN_DOMAIN

UwagiRemarks

Funkcja atan Oblicza arcus tangens (funkcja odwrotnej styczności) x.The atan function calculates the arctangent (the inverse tangent function) of x. Funkcja atan2 Oblicza arcus tangens liczby y / x (Jeśli x jest równa 0, atan2 zwraca π/2, jeśli y jest dodatnia,-π/2, jeśli y jest ujemna, lub 0, jeśli y jest równa 0).atan2 calculates the arctangent of y/x (if x equals 0, atan2 returns π/2 if y is positive, -π/2 if y is negative, or 0 if y is 0.)

atan ma implementację, która używa Streaming SIMD Extensions 2 (SSE2).atan has an implementation that uses Streaming SIMD Extensions 2 (SSE2). Informacje i ograniczenia dotyczące korzystania z implementacji SSE2 można znaleźć w temacie _set_SSE2_enable.For information and restrictions about using the SSE2 implementation, see _set_SSE2_enable.

Ponieważ C++ pozwala na Przeciążenie, można wywoływać przeciążenia atan i atan2 przyjmujących float lub long double argumenty.Because C++ allows overloading, you can call overloads of atan and atan2 that take float or long double arguments. W programie C atan i atan2 zawsze przyjmują double argumenty i zwracają double .In a C program, atan and atan2 always take double arguments and return a double.

Domyślnie globalny stan tej funkcji jest objęty zakresem aplikacji.By default, this function's global state is scoped to the application. Aby to zmienić, zobacz stan globalny w CRT.To change this, see Global state in the CRT.

WymaganiaRequirements

ProceduraRoutine Wymagany nagłówek (C)Required header (C) Wymagany nagłówek (C++)Required header (C++)
atan, atan2, atanf —, atan2f —, atanl, atan2latan, atan2, atanf, atan2f, atanl, atan2l <math.h> <cmath> lub <math.h><cmath> or <math.h>

PrzykładExample

// 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;
}
Arctangent of 5.000000: 1.373401
Arctangent of 0.500000 / 5.000000: 0.099669

Zobacz takżeSee also

Obsługa zmiennoprzecinkowaFloating-Point Support
acos, acosf, acoslacos, acosf, acosl
asin, asinf, asinlasin, asinf, asinl
cos, cosf, coslcos, cosf, cosl
_matherr_matherr
sin, sinf, sinlsin, sinf, sinl
tan, tanf, tanltan, tanf, tanl
_CIatan_CIatan
_CIatan2_CIatan2