Freigeben über


atan, atanf, atan2, atan2f

Berechnet den Arkustangens von x (atan oder atanf) oder den Arkustangens von y/x (atan2 oder atan2f).

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 
);
float atan2f(
   float y,
   float x
);

Parameter

  • x, y
    Alle Zahlen.

Rückgabewert

atan gibt den Arkustangens von x im Bereich – π/2 auf das Bogenmaß π/2 zurück.atan2 gibt den Arkustangens von y/x im Bereich – auf π π Bogenmaß zurück.Wenn x 0 ist, gibt atan 0 zurück.Wenn beide Parameter atan2 0 ist, gibt die Funktion 0 zurück.Alle Ergebnisse werden im Bogenmaß.

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

Eingabe

SEH Ausnahme

Matherr-Ausnahme

± QNAN,IND

Keine

_DOMAIN

Hinweise

Die atan-Funktion berechnet den Arkustangens von x.atan2 berechnet den Arkustangens von y/x (wenn x 0 entspricht, gibt atan2 π/2 wenn y ist positiv, wenn y - π/2, ist negativ oder 0, wenn y 0 ist.)

atan enthält eine Implementierung, die SIMD-Erweiterungen Streaming SSE2-Anweisungen (2) verwendet.Weitere Informationen finden Sie unter _set_SSE2_enable und die Implementierung Anwendungseinschränkungen SSE2-Anweisungen.

C++ lässt Überladen, das heißt Sie können Überladungen von atan und atan2aufrufen.In einem C-Programm annehmen und atan und geben immer atan2 Doubles zurück.

Anforderungen

Routine

Erforderlicher Header

atan, atan2, atanf, atan2f

<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

asin, asinf

cos, cosf, Cosh, coshf

_matherr

Funktionen sin, sinf, sinh, sinhf

tan, tanf, tanh, tanhf

_CIatan

_CIatan2