Number
int
来完成的。显然这更快,但这意味着没有机会在不同的计算机体系结构上进行确定性数学。当我将所有鸡蛋倒入JavaScript篮子之前,我想问几个问题。
在JavaScript中的所有主要浏览器上是否有真正的整数算术?或者有些浏览器会做闪光灯并投入到浮动/双打进行数学的速度,然后再降回int?跨不同计算机体系结构的确定性数学工作类似?只要有理由,我不介意一些绩效损失。如果没有,是否有一些JavaScript固定点库可以解决我的问题?
游戏引擎的列表令人难以置信。我对从头开始构建确定性的交叉浏览器兼容引擎感到不安,但这可能是我要做的。
这是一个JavaScript问题 - 不是HTML5。 所有JavaScript Math使用IEEE754浮点
BigDecimal
值完成 - 没有“ ints”。
尽管IEEE754需要(AFAIK)为任何给定输入的每个操作都有一个特定答案,但您应该意识到JS口译员有可能自由地优化表达式,循环等你期望。
在程序的过程中,此May会在不同的浏览器上产生不同的答案。