atan
, atanf
, atanl
, atan2
, atan2f
, atan2l
Menghitung arka tangen (, , dan atanl
) atau arka tangen/y
x
(atan2
, , atan2f
dan ).atan2l
atanf
atan
x
Sintaks
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
Parameter
x
, y
Angka apapun.
Nilai hasil
atan
mengembalikan arka tangen x
dalam rentang -π/2 hingga radian π/2. atan2
mengembalikan arka tangen y
/x
dalam rentang -π ke radian π. Jika x
adalah 0, atan
mengembalikan 0. Jika kedua parameter atan2
adalah 0, fungsi mengembalikan 0. Semua hasil dalam radian.
atan2
menggunakan tanda-tanda kedua parameter untuk menentukan kuadrian nilai yang dikembalikan.
Input | Pengecualian SEH | Pengecualian _matherr |
---|---|---|
± QNaN, IND | tidak ada | _DOMAIN |
Keterangan
Fungsi menghitung atan
arka tangen (fungsi tangen terbalik) dari x
. atan2
menghitung arka y
/x
tangen (jika x
sama dengan 0, atan2
mengembalikan π/2 jika y
positif, -π/2 jika y
negatif, atau 0 jika y
adalah 0,)
Jika Anda menggunakan atan
makro atau atan2
dari <tgmath.h>
, jenis argumen menentukan versi fungsi mana yang dipilih. Lihat Matematika generik jenis untuk detailnya.
atan
memiliki implementasi yang menggunakan Streaming SIMD Extensions 2 (SSE2). Untuk informasi dan pembatasan tentang penggunaan implementasi SSE2, lihat _set_SSE2_enable
.
Karena C++ memungkinkan kelebihan beban, Anda dapat memanggil kelebihan beban atan
dan atan2
yang mengambil float
atau long double
argumen. Dalam program C, kecuali Anda menggunakan <tgmath.h>
makro untuk memanggil fungsi ini, atan
dan atan2
selalu mengambil double
argumen dan mengembalikan double
.
Secara default, status global fungsi ini dicakup ke aplikasi. Untuk mengubah perilaku ini, lihat Status global di CRT.
Persyaratan
Rutin | Header yang diperlukan (C) | Header yang diperlukan (C++) |
---|---|---|
atan , atan2 , atanf , atan2f , atanl , atan2l |
<math.h> |
<cmath> atau <math.h> |
atan , atan2 makro |
<tgmath.h> |
Contoh
// 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
Baca juga
Dukungan matematika dan titik mengambang
acos
, acosf
, acosl
asin
, asinf
, asinl
cos
, cosf
, cosl
_matherr
sin
, sinf
, sinl
tan
, tanf
, tanl
_CIatan
_CIatan2
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk