我使用C++有以下代码:
double value = .3;
double result = cos(value);
Run Code Online (Sandbox Code Playgroud)
当我在locals窗口中查看"value"的值时,它显示为0.2999999999
然后,当我得到"结果"的值时,我得到:0.95533648912560598
但是,当我在计算机计算器上运行cos(.3)时,我得到:.9999862922474
很明显,我做错了.
有什么可能导致结果差异的想法?
我在Intel处理器上运行Win XP.
谢谢
Ree*_*sey 20
结果的差异是因为:
您的计算机的计算器返回以度为单位指定的角度的余弦值.C++ cos()函数返回以弧度指定的角度的余弦值.
.2999999999是由于计算机中处理浮点数的方式..3不能完全用双精度表示.有关详细信息,我建议阅读科学家应该知道的关于浮点运算的内容.
归档时间: |
|
查看次数: |
2954 次 |
最近记录: |