Aracılığıyla paylaş


atan, atanf, atanl, atan2, atan2f, atan2l

(, , ve ) veya arktanjantını x/xatany(atan2, atan2f, ve atan2l) hesaplar.atanlatanf

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.

Girdi SEH özel durumu _matherr özel durumu
± QNaN, IND yok _DOMAIN

Açıklamalar

işlevi arktanjantını atan (ters tanjant işlevi) xhesaplar. atan2arktanjantını hesaplar (0'a eşitse, atan2 pozitifse yx π/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 atanatan2floatlong 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 doubledö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