C++余弦问题

Cod*_*ker 2 c++ math

我使用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不能完全用双精度表示.有关详细信息,我建议阅读科学家应该知道的关于浮点运算的内容.


Bil*_*ill 10

cos(.3弧度)= 0.95533 ...

cos(.3度)= 0.99998 ...