gpt4 book ai didi

java - tan 45 给我 0.9999

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:59:44 24 4
gpt4 key购买 nike

为什么 tan 45(弧度为 0.7853981633974483)给我 0.9999?以下代码有什么问题?

System.out.println(Math.tan(Math.toRadians(45.0)) );

我不认为这里有任何错字。

那么这里的解决方案是什么?

最佳答案

浮点计算通常会导致这种不准确。问题在于无法在固定位数内准确表示数字。

再举一个例子(十进制),我们都同意 3 * (1/3) = 1。但是,如果您的计算器只有 4 位小数,1/3 将表示为 0.3333。当它与 3 相乘时,您将得到 0.9999 而不是 1

作为进一步的信息,大多数系统上的浮点通常使用 IEEE754 标准表示。您可以搜索它,或引用维基百科页面以获取更多详细信息。 IEEE floating point

关于java - tan 45 给我 0.9999,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13775550/

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