Freigeben über


atan, atanf, atanl, atan2, atan2f, atan2l

Berechnet den Arkustangens von x (atan, atanf und atanl) oder den Arkustangens von y/x (atan2, atan2f und 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
);

Parameter

  • x, y
    Alle Zahlen.

Rückgabewert

atan gibt den Arkustangens von x im Bogenmaßbereich von –π/2 bis π/2 zurück. atan2 gibt den Arkustangens von y/x im Bogenmaßbereich von –π bis π zurück. Wenn x gleich 0 ist, gibt atan 0 zurück. Wenn beide Parameter von atan2 0 sind, gibt die Funktion 0 zurück. Alle Ergebnisse sind in Bogenmaß.

atan2 verwendet die Zeichen beider Parameter, um den Quadranten des Rückgabewerts zu bestimmen.

Eingabe

SEH-Ausnahme

Matherr-Ausnahme

± QNAN,IND

Keine

_DOMAIN

Hinweise

Die atan-Funktion berechnet den Arkustangens (die umgekehrte Tangensfunktion) von x. atan2 berechnet den Arkustangens von y/x (wenn x gleich 0 ist, gibt atan2 π/2 zurück, wenn y positiv ist, - π/2, wenn y negativ ist oder 0, wenn y 0 ist.)

atan ist eine Implementierung, die SIMD-Streamingerweiterungen 2 (SSE2) verwendet. Informationen und Einschränkungen zur Verwendung der SSE2-Implementierung finden Sie unter _set_SSE2_enable.

Da C++ ein Überladen zulässt, können Sie Überladungen von atan und atan2 aufrufen. In einem C-Programm verwenden atan und atan2 immer Doppelwerte und geben diese auch zurück.

Anforderungen

Routine

Erforderlicher Header

atan, atan2, atanf, atan2f, atanl, atan2l

<math.h>

Beispiel

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

.NET Framework-Entsprechung

Siehe auch

Referenz

Gleitkommaunterstützung

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