gpt4 book ai didi

java - 为什么 Math.tan() 对于不同的精度级别返回不同的值?

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

我正在测试一个程序,该程序读取数学输入,并根据运算顺序计算答案。我遇到了一个问题。计算 Math.PI/2 的正切时,返回值 1.633123935319537E16

但是,在我的程序中的某个位置,该值可以缩短为 1.5707964,而不是 1.5707963267948966。当我调用 Math.tan(1.5707964) 时,它返回值 -1.3660249798894601E7

我并不是在寻求缩短的帮助,而是想了解不同的答案,以及在计算三角函数时我应该注意的任何其他事情。

最佳答案

I want to understand the divergent answers

  • tan(π/2) 未定义
  • tan(π/2 - 微小量) 的大小非常大且为正
  • tan(π/2 + 微小量) 的大小非常大且为负

您传入的数字不完全是 π/2:

  • 1.5707963267948966192313216...π/2稍微更精确的值(计算出 here ;不需要更多小数位来说明这一点)。
  • 1.5707963267948966 只是更小
  • 1.5707964 只是更大。

为了说明这一点,这是来自 Math Is Fun 的图表: x

关于java - 为什么 Math.tan() 对于不同的精度级别返回不同的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44294410/

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