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