C#的Cos函数

wlj126 2015-11-11 02:53:50
double x=3.14E18;
double xv=Math.Cos(2*Math.PI*x);
在VS2010中,xv的结果是1.97292018645439E+19。
不知道哪里出问题?谢谢
...全文
954 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wlj126 2015-11-11
  • 打赏
  • 举报
回复
谢谢各位解答,要求解的公式就是cos(2*pi*x),而x的值是3.14E18。不是除180的问题。 现在搞清楚了,2*pi*3.14E18的值超过了9223372036854775295,所以输出的是2*pi*3.14E18。 再次各位热心解答。
Poopaye 2015-11-11
  • 打赏
  • 举报
回复
引用 5 楼 wlj126 的回复:
谢谢,确实超过范围了,但是否有办法获取正确的值?
cos周期是2pi,你只要减去2npi使得结果小于9223372036854775295就行了
xuzuning 2015-11-11
  • 打赏
  • 举报
回复
double x=3.14E18; 你这是度还是弧度? 如果是弧度,就不要乘 Math.PI 了
wlj126 2015-11-11
  • 打赏
  • 举报
回复
谢谢,确实超过范围了,但是否有办法获取正确的值?
crystal_lz 2015-11-11
  • 打赏
  • 举报
回复

怎么就大于1了?、、、
Poopaye 2015-11-11
  • 打赏
  • 举报
回复
参数有最大值的 9223372036854775295
wlj126 2015-11-11
  • 打赏
  • 举报
回复
谢谢,但是cos的值大于1了
crystal_lz 2015-11-11
  • 打赏
  • 举报
回复
Match.Cos(度数 / 180 * Math.PI)

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧