gpt4 book ai didi

javascript - 与浮点运算一致的整数除法

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

我需要在 JavaScript 中进行整数除法,它只提供 double float 供我使用。通常我会做 Math.floor(a/b)(或 a/b | 0)并完成它,但在这种情况下我正在做模拟步调一致地执行,并且需要确保跨机器和运行时的一致性,无论它们使用 64 位还是 80 位内部精度。

到目前为止,我还没有注意到任何不一致之处,但我无法最终说服自己它们不会发生。所以我想知道:

  1. 假设 ab 分别是 0..2^31-1 和 1..2^31-1 范围内的整数,结果来自JavaScript Math.floor(a/b)(和 a/b | 0)保证跨机器和运行时一致?

  2. 为什么或为什么不?

最佳答案

我的猜测是不会。答案是它取决于许多因素:

  1. ECMA 脚本的浏览器 vendor 实现。

  2. 特定版本的 ECMA Script 是否指定一致性级别(通常不指定)。

  3. 您可能不知道的最终用户机器上的其他外部因素。

众所周知,浮点运算容易出现舍入误差。虽然认为小数点右侧的所有这些数字都是准确的很不错,但让两台运行截然不同的硬件和软件配置的机器就计算达成一致可能就像放牧猫一样。

关于javascript - 与浮点运算一致的整数除法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6191944/

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