use*_*401 9 javascript integer unsigned-integer
如何在Javascript中模拟没有任何外部依赖性的32位无标记整数?使用x >>> 0或x | 0不工作的技巧(对于乘法,它们似乎适用于加法/减法),并且在乘法期间双精度会丢失精度.
x >>> 0
x | 0
例如,尝试乘以2654435769*340573321(mod 2 ^ 32).结果应为1.
这个答案有倍增.加/减/除法怎么样?
这里是 wolfram alpha 的链接,展示了上面的等式.
eph*_*ent 3
32 位无符号整型适合 Javascript 的64 位浮点型——执行加法、减法或除法时不应损失精度。只需使用 进行掩码0xffffffff即可保持在 32 位整数范围内。乘法超出了适合的范围,但你已经有一个解决方案了。
0xffffffff
归档时间:
13 年,6 月 前
查看次数:
7237 次
最近记录: