【问题标题】:Value of cosinus 90 degree [duplicate]余弦90度的值[重复]
【发布时间】:2019-03-08 14:26:00
【问题描述】:

使用 java.lang.Math 函数。 有人可以解释为什么 cos(90) = 6.1 的值吗?

    for (int i = 0; i < 91; i++) {
        System.out.println(i  + " = " + cos(toRadians(i)));
    }

输出是:

0 = 1.0
1 = 0.9998476951563913
2 = 0.9993908270190958
...
89 = 0.0174524064372836
90 = 6.123233995736766E-17

【问题讨论】:

  • 你的答案在这里:stackoverflow.com/a/5263743/3780625
  • 不是 6.1,而是 0.000000000000000061。注意数字后面的E-17
  • 为什么不是0?由于浮点精度问题。

标签: java math trigonometry


【解决方案1】:

请注意指数符号。输出

90 = 6.123233995736766E-17

不表示6.1的值,而是6.1*10^{-17}的值。

接近 (0)。由于浮点数的精度问题,它不是绝对零。

【讨论】:

    猜你喜欢
    • 2013-04-05
    • 2020-02-04
    • 2017-09-17
    • 2015-05-23
    • 2017-12-12
    • 2021-06-13
    • 2020-08-12
    • 2013-11-30
    • 2017-10-06
    相关资源
    最近更新 更多