atan, atanf, atan2, atan2f

计算 x 反正切值 (atanatanf) 或 y/x 反正切值 (atan2atan2f)。

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

参数

  • x, y
    任何数字。

返回值

atan 返回 x 反正切值在 – π/2 范围内为π/2 弧度。 atan2 返回 y/x 反正切值在范围 –对π弧度的π的。 如果 x 为 0, atan 返回 0。 如果 atan2 的参数都是 0,则函数返回 0。 所有结果以弧度为单位。

atan2 使用两个参数的符号标识返回值的象限。

输入

SEH 异常

Matherr 异常

± QNAN,IND

_DOMAIN

备注

atan 函数求值 x反正切值。 atan2 计算 y/x 反正切值 (如果 x 等于 0, atan2 返回π/2,如果 y 为正数的 ), π/2,如果 y 为负或 0,则 y 为 0。)

atan 具有使用流 SIMD 扩展 2 的实现 (SSE2)。 请参见 _set_SSE2_enable 信息和使用限制这次将实现。

C++ 允许重载,因此,您可以调用 atanatan2重载。 在 c. 程序, atanatan2 始终采用并返回二进制文件。

要求

实例

必需的头

atan, atan2, atanf, atan2f

math.h

示例

// 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 等效项

请参见

参考

浮点支持

acos, acosf

asin, asinf

COS, cosf, cosh, coshf

_matherr

sin, sinf, sinh, sinhf

tan, tanf, tanh, tanhf

_CIatan

_CIatan2