添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

This browser is no longer supported.

Upgrade to Microsoft Edge to take advantage of the latest features, security updates, and technical support.

Download Microsoft Edge More info about Internet Explorer and Microsoft Edge

In this article

The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.

The latest version of this topic can be found at atan, atanf, atanl, atan2, atan2f, atan2l .

Calculates the arctangent of x ( atan , atanf , and atanl ) or the arctangent of y / x ( atan2 , atan2f , and atan2l ).

Syntax

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  

Parameters

x, y
Any numbers.

Return Value

atan returns the arctangent of x in the range –π/2 to π/2 radians. atan2 returns the arctangent of y/x in the range –π to π radians. If x is 0, atan returns 0. If both parameters of atan2 are 0, the function returns 0. All results are in radians.

atan2 uses the signs of both parameters to determine the quadrant of the return value.

Input SEH Exception Matherr Exception

Remarks

The atan function calculates the arctangent (the inverse tangent function) of x. atan2 calculates the arctangent of y/x (if x equals 0, atan2 returns π/2 if y is positive, -π/2 if y is negative, or 0 if y is 0.)

atan has an implementation that uses Streaming SIMD Extensions 2 (SSE2). For information and restrictions about using the SSE2 implementation, see _set_SSE2_enable.

Because C++ allows overloading, you can call overloads of atan and atan2. In a C program, atan and atan2 always take and return doubles.

Requirements

Routine Required header 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  

.NET Framework Equivalent

  • System::Math::Atan

  • System::Math::Atan2

    See Also

    Floating-Point Support
    acos, acosf, acosl
    asin, asinf, asinl
    cos, cosf, cosl, cosh, coshf, coshl
    _matherr
    sin, sinf, sinl, sinh, sinhf, sinhl
    tan, tanf, tanl, tanh, tanhf, tanhl
    _CIatan
    _CIatan2

  •