c++ 中求反正切的函数atan和atan2的差别?

运行下面的代码,结果不一样:doubleangle=atan(5.0/-5.0);doubleangle_=atan2(5.0,-5.0);cout<<angle<<""... 运行下面的代码,结果不一样:
double angle=atan(5.0/-5.0);
double angle_=atan2(5.0,-5.0);
cout<<angle<<" "<<angle_<<endl
为什么?

第一个结果是对的,第二个结果明显是错的。
展开
专业酱油路过男
2012-10-12 · TA获得超过355个赞
知道小有建树答主
回答量:185
采纳率:0%
帮助的人:212万
展开全部
貌似一个是弧度,一个是角度的区别
追问
明显不是啊~
追答
atan2
返回给定的 X 及 Y 坐标值的反正切值。反正切的角度值等于 X 轴与通过原点和给定坐标点 (Y坐标, X坐标) 的直线之间的夹角。结果以弧度表示并介于 -pi 到 pi 之间(不包括 -pi)。

atan2(a, b) 与 atan(a/b)稍有不同,atan2(a,b)的取值范围介于 -pi 到 pi 之间(不包括 -pi),

而atan(a/b)的取值范围介于-pi/2到pi/2之间(不包括±pi/2)。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式