gpt4 book ai didi

Java Math.cos(Math.toRadians()) 返回奇怪的值

转载 作者:行者123 更新时间:2023-12-01 06:29:50 29 4
gpt4 key购买 nike

我在使用 Math.cos() 方法时遇到了一些问题。我知道,在使用 Math.cos() 之前我必须将角度转换为弧度。但如果我这样做:

System.out.println(Math.cos(Math.toRadians(90));

输出:6.123233995736766E-17

Math.sin() 运行良好。

最佳答案

根据三角函数:

sin x ~= x, for small values of x
sin x = cos x+pi/2

因为 pi/2 无法在 IEEE-754 float 中精确表示,这意味着它必须偏离某个值 x,即它由 pi/2 +- x 表示,其中 x < 最小值浮点系统中的重要位。在本例中为 2^-53 = 1.1102e-16。

在此特定情况下,x ~= 6.123233995736766E-17,约为最大误差的 55%。所以,这是一个相当不错的结果......

关于Java Math.cos(Math.toRadians(<angle>)) 返回奇怪的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13100144/

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