CAB
Uhr
EOF
Erweitern Minimieren
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

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

Alle Zahlen.

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

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

Eingabe

SEH Ausnahme

Matherr-Ausnahme

± QNAN,IND

Keine

_DOMAIN

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

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

C++ erlaubt das Überladen, das heißt, Sie können Überladungen von atan und atan2 aufrufen. In einem C-Programm sind Parameter und Rückgabewert von atan und atan2 immer vom Typ double.

Routine

Erforderlicher Header

atan, atan2, atanf, atan2f

<math.h>

// 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
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)

Community-Beiträge

HINZUFÜGEN
© 2013 Microsoft. Alle Rechte vorbehalten.