大数 - JavaScript 中的数学

Rot*_*aul 5 javascript math

我正在开发一个 3D 太空游戏,它使用了大量的数学公式、导航、缓动效果、旋转、行星之间的巨大距离、物体质量等等......

我的问题是使用数学的最​​佳方法是什么。我应该将所有内容都计算为整数并获得非常大的整数(超过 20 位),还是使用带有小数的小数。

根据我的经验,使用带小数的数字时的数学计算不准确,当使用带小数的大数时会导致奇怪的行为。

sky*_*000 4

我会避免使用小数。他们精确地了解问题: http: //floating-point-gui.de/


我建议使用整数,但如果您需要使用非常大的整数,我建议使用大数字或大整数库,例如以下之一:

缺点是您必须使用这些数字对象及其方法,而不是原始 Number 类型和标准 JS 运算符,但您在处理大数字时将具有更大的灵活性。

编辑:
正如le_m指出的那样,另一个缺点是速度。库方法的运行速度不如本机运算符。您必须亲自测试一下性能是否可以接受。