gpt4 book ai didi

c - sin、cos、tan 和舍入误差

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

我正在用 C/C++ 进行一些三角函数计算,但遇到了舍入误差问题。例如,在我的 Linux 系统上:

#include <stdio.h>
#include <math.h>

int main(int argc, char *argv[]) {
printf("%e\n", sin(M_PI));
return 0;
}

这个程序给出了以下输出:

1.224647e-16

当正确答案当然是0时

使用三角函数时,我预计会有多少舍入误差?我怎样才能最好地处理这个错误?我熟悉 Bruce Dawson 的 Comparing Floating Point Numbers 中用于比较 float 的 Units in Last Place 技术。 ,但这似乎在这里不起作用,因为 0 和 1.22e-16 相差了很多 ULP。

最佳答案

sin(pi) 的答案仅为 0 - 您是否包括了 Pi 的所有数字?

-有没有其他人注意到这里明显缺乏讽刺/幽默感?

关于c - sin、cos、tan 和舍入误差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1527588/

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