atan(-M_PI_2)没有返回-90º

时间:2013-03-18 10:48:55

标签: c++ math

我在cpp中计算atan时遇到问题。 M_PI已经声明为3.14159 ....

我的代码是:

double distanceNormalized = 1;// set constant con check value
double angle = atan(distanceNormalized * (-M_PI_2)); // atan(-PI/2) must be -1 in rad

stringstream ss;
ss  << " Angle: " << angle*180/M_PI;
cout << ss << endl;

但在日志中我得到:

Angle: -57.5184

参考说admit [-pi / 2,+ pi / 2]弧度。 发生了什么事?

1 个答案:

答案 0 :(得分:4)

您获得了正确的输出。

如果您假设-57.5184,则

-1 rad度相当于π = 3.14angle实际上是-1 rad。您可以将其乘以180并除以π,将其转换为度数。