atan, atanf, atan2, atan2f
计算 x 反正切值 (atan 或 atanf) 或 y/x 反正切值 (atan2 或 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
任何数字。
返回值
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++ 允许重载,因此,您可以调用 atan 和 atan2重载。在 c. 程序, atan 和 atan2 始终采用并返回二进制文件。
要求
实例 |
必需的头 |
---|---|
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;
}