Sdílet prostřednictvím


atan, atanf, atanl, atan2, atan2f, atan2l

Počítá arkus tangens x (atan, atanf a atanl) nebo arkus tangens y/x (atan2, atan2f a 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
    Libovolná čísla.

Vrácená hodnota

atan vrací arkus tangens x v oblasti –π/2 až π/2 radiánů.atan2 vrací arkus tangens y/x v oblasti –π až π radiánů.Pokud je x rovno 0, atan vrací 0.Pokud jsou oba parametry atan2 rovny 0, vrátí funkce hodnotu 0.Všechny výsledky jsou v radiánech.

atan2 používá znaménka obou parametrů k určení kvadrantu návratové hodnoty.

Vstup

Výjimka SEH

Výjimka Matherr

± QNAN,IND

žádná

_DOMAIN

Poznámky

Funkce atan počítá arkus tangens (inverzní funkce tangens) x.atan2 počítá arkus tangens y/x (pokud se x rovná 0, atan2 vrací hodnotu π/2, pokud je y kladné, - π/2 pokud je y záporné nebo 0, pokud je y rovno 0.)

atan má implementaci, která používá instrukční sadu Streaming SIMD Extensions 2 (SSE2).Další informace a omezení týkající se použití implementace SSE2 naleznete v tématu _set_SSE2_enable.

Protože jazyk C++ umožňuje přetížení, je možné volat přetížení atan a atan2.V programu v jazyce C atan a atan2 vždy přijímají a vrací hodnoty typu double.

Požadavky

Rutina

Požadované záhlaví

atan, atan2, atanf, atan2f, atanl, atan2l

<math.h>

Příklad

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

Ekvivalent v rozhraní .NET Framework

Viz také

Referenční dokumentace

Podpora plovoucí desetinné čárky

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