atan
, atanf
, atanl
, , atan2
, atan2f
, atan2l
(, , ve ) veya arktanjantını x
/x
atan
y
(atan2
, atan2f
, ve atan2l
) hesaplar.atanl
atanf
Sözdizimi
double atan( double x );
float atanf( float x );
long double atanl( long double x );
#define atan(X) // Requires C11 or higher
float atan( float x ); // C++ only
long double atan( long double x ); // C++ only
double atan2( double y, double x );
float atan2f( float y, float x );
long double atan2l( long double y, long double x );
#define atan2(Y, X) // Requires C11 or higher
float atan2( float y, float x ); // C++ only
long double atan2( long double y, long double x ); // C++ only
Parametreler
x
, y
Herhangi bir sayı.
Dönüş değeri
atan
-π/2 aralığındaki arktanjantını x
π/2 radyan olarak döndürür. atan2
-π aralığındaki arktanjantını y
/x
radyan π döndürür. 0 ise x
, atan
0 döndürür. her iki parametresi atan2
de 0 ise, işlev 0 döndürür. Tüm sonuçlar radyan cinsindendir.
atan2
dönüş değerinin çeyreğini belirlemek için her iki parametrenin işaretlerini kullanır.
Giriş | SEH özel durumu | _matherr özel durumu |
---|---|---|
± QNaN, IND | yok | _DOMAIN |
Açıklamalar
işlevi arktanjantını atan
(ters tanjant işlevi) x
hesaplar. atan2
arktanjantını hesaplar (0'a eşitse, atan2
pozitifse y
x
π/2, negatifse y
-π/2 veya 0 ise y
0 döndürür.)y
/x
veya atan2
makrosundan atan
<tgmath.h>
kullanıyorsanız, işlevin hangi sürümünün seçili olduğunu bağımsız değişkenin türü belirler. Ayrıntılar için bkz . Tür genel matematik .
atan
, Streaming SIMD Extensions 2 (SSE2) kullanan bir uygulamaya sahiptir. SSE2 uygulamasını kullanma hakkında bilgi ve kısıtlamalar için bkz _set_SSE2_enable
. .
C++ aşırı yüklemeye izin verdiğinden ve öğesinin atan
atan2
float
long double
veya bağımsız değişkenlerinin aşırı yüklemelerini çağırabilirsiniz. Bir C programında, bu işlevi atan
çağırmak için makroyu <tgmath.h>
kullanmadığınız ve atan2
her zaman bağımsız değişkenler alıp double
bir double
döndürmediğiniz sürece.
Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.
Gereksinimler
Yordam | Gerekli üst bilgi (C) | Gerekli üst bilgi (C++) |
---|---|---|
atan , atan2 , atanf , , atan2f , atanl , atan2l |
<math.h> |
<cmath> veya <math.h> |
atan , atan2 makrolar |
<tgmath.h> |
Örnek
// 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
Ayrıca bkz.
Matematik ve kayan nokta desteği
acos
, acosf
, acosl
asin
, asinf
, asinl
cos
, cosf
, cosl
_matherr
sin
, sinf
, sinl
tan
, tanf
, tanl
_CIatan
_CIatan2