9

如何在 Javascript 中模拟没有任何外部依赖的 32 位无符号整数?x >>> 0使用或x | 0不使用的技巧(对于乘法,它们似乎适用于加法/减法),并且双打在乘法过程中会失去精度。

例如,尝试将 2654435769 * 340573321 (mod 2^32) 相乘。结果应该是 1。

这个答案有乘法。加法/减法/除法呢?

这是wolfram alpha 的链接,展示了上面的等式。

4

1 回答 1

3

32 位 unsigned int 适合 Javascript 的64 位浮点数——在执行加法、减法或除法时不应该有精度损失。只需掩码0xffffffff以保持在 32 位整数内。乘法超出了合适的范围,但是您已经有了解决方案。

于 2012-07-28T21:45:21.160 回答