gpt4 book ai didi

C++:余弦错误,应为零。 3π/2

转载 作者:太空狗 更新时间:2023-10-29 23:25:29 25 4
gpt4 key购买 nike

我有一个程序,我正在尝试计算cos(M_PI*3/2),我得到的不是 0,而是 -1.83691e-016

我在这里错过了什么?我需要以弧度表示。

最佳答案

首先,M_PI 不是一个非常便携的宏,通常可以精确到小数点后 15 位,具体取决于您使用的编译器 - 我猜您使用的是 Microsoft 的 C++ 编译器。

其次,如果您想要更准确(和可移植)的版本,请使用 Boost Math 库: http://www.boost.org/doc/libs/1_55_0/libs/math/doc/html/math_toolkit/tutorial/non_templ.html

第三,正如 Kay 指出的那样,pi 本身是一个无理数,因此没有多少位(或以 10 为底的数字)足以准确地表示它。因此,您实际计算的不是 cos(3*pi/2) ,而是“给定所需位的 pi 的最接近近似值的 3/2 的余弦”,它不会是 3 *pi/2 和因此不会为零。

最后,如果您想要自定义数学常数的精度,请阅读:http://www.boost.org/doc/libs/1_55_0/libs/math/doc/html/math_toolkit/tutorial/user_def.html

关于C++:余弦错误,应为零。 3π/2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22600162/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com