¿Le resultó útil esta página?
Sus comentarios sobre este contenido son muy importantes. Háganos saber su opinión.
Caracteres restantes: 1500
 Importante Es posible que este documento no represente los procedimientos recomendados para el desarrollo actual. Puede que los vínculos a las descargas y otros recursos ya no sean válidos. Encontrará aquí la versión que se recomienda en la actualidad.

# atan, atanf, atan2, atan2f

Visual Studio 2005

Calculates the arctangent of x (atan or atanf) or the arctangent of y/x (atan2 or atan2f).

```
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

Any numbers.

## Return Value

atan returns the arctangent of x in the range of –π/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

± QNAN,IND

none

_DOMAIN

## Remarks

The atan function calculates the arctangent of x. atan2 calculates the arctangent of y/x. atan2 is well-defined for every point other than the origin, even if x equals 0 and y does not equal 0.

atan has an implementation that uses Streaming SIMD Extensions 2 (SSE2). See _set_SSE2_enable for information and restrictions on using the SSE2 implementation.

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

## Requirements

atan, atan2, atanf, atan2f

<math.h>

ANSI, Windows 95, Windows 98, Windows 98 Second Edition, Windows Millennium Edition, Windows NT 4.0, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003

## Example

```// 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;
}
```

#### Output

```Arctangent of 5.000000: 1.373401
Arctangent of 0.500000 / 5.000000: 0.099669```