C++ 余弦不是计算精确值

C++ 余弦不是计算精确值,c++,trigonometry,C++,Trigonometry,我在做一个小东西,我需要余弦 为了得到余弦函数,我加入了math.h库 打印结果后,我的程序中的余弦与计算器中的不同 例如,计算器上的Cos(40)为0.70710678118,但在程序中为0.766044 这就是我如何计算余弦cos(某个变量*PI/180) 正因为如此,我所有的结果都出错了 这不是应该是相同的结果吗?为什么会发生这些事 怎么解决呢?我不知道你的值来自哪里,但是0.70710678118是sqrt(2)/2的近似值,即π/4或45°的正反方向。所以除了在一个非常奇怪的单位中,c

我在做一个小东西,我需要余弦 为了得到余弦函数,我加入了
math.h
库 打印结果后,我的程序中的余弦与计算器中的不同 例如,计算器上的Cos(40)为0.70710678118,但在程序中为0.766044 这就是我如何计算余弦
cos(某个变量*PI/180)
正因为如此,我所有的结果都出错了 这不是应该是相同的结果吗?为什么会发生这些事
怎么解决呢?

我不知道你的值来自哪里,但是
0.70710678118
sqrt(2)/2
的近似值,即π/4或45°的正反方向。所以除了在一个非常奇怪的单位中,
cos(40)
不能是
sqrt(2)/2


顺便说一句,在我自己的计算器中,
cos(40)=0.7660443118978035239265055542
在度模式下。

第一次猜测:弧度vs.度?cos(40)是0.766044。。。你在计算器中输入的值是错误的0.766044311是正确的值。在谷歌计算器中输入的值是0.70710678118。。我试着编写一个程序,为我计算一些物理方面的东西,书上的答案是不同的,因为余弦的计算不同0.70710678118是cos(45度),而不是40度。