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
cos, cosf, cosl, cosh, coshf, coshl
sin, sinf, sinl, sinh, sinhf, sinhl