我正在开发一个 3D 太空游戏,它使用了大量的数学公式、导航、缓动效果、旋转、行星之间的巨大距离、物体质量等等......
我的问题是使用数学的最佳方法是什么。我应该将所有内容都计算为整数并获得非常大的整数(超过 20 位数字),还是使用带小数的小数字。
根据我的经验,使用带小数的数字时数学计算不准确,当使用带小数的大数字时会导致奇怪的行为。
最佳答案
我会避免使用小数。他们已知精度问题:http://floating-point-gui.de/
我建议使用整数,但如果您需要使用非常大的整数,我建议使用大数字或大整数库,例如以下之一:
缺点是您必须使用这些数字对象及其方法,而不是使用原始数字类型和标准 JS 运算符,但在处理大数字时您将拥有更大的灵 active 。
编辑:
作为le_m指出,另一个缺点是速度。库方法不会像本地运算符那样运行得那么快。您必须自己进行测试,看看性能是否可以接受。
关于javascript - 大数 - JavaScript 中的数学,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37869292/