This question already has answers here:
Should I use multiplication or division?
(25个答案)
3年前关闭。
我想知道在简单的计算中,乘法和除法之间是否存在一些差异(针对性能问题),例如:
当这类事情发生的次数很多时,例如在3D游戏(lwjgl)的相机位置计算中。
谢谢 !
版画
注意:使用
对于GUI应用程序,您不会看到差异,但是会导致计算上的细微差异。
(25个答案)
3年前关闭。
我想知道在简单的计算中,乘法和除法之间是否存在一些差异(针对性能问题),例如:
float thing = Mouse.getDY() * 0.1f;
float otherThing = Mouse.getDY() / 10f;
当这类事情发生的次数很多时,例如在3D游戏(lwjgl)的相机位置计算中。
谢谢 !
最佳答案
是的,您会得到不同的结果,因为可以精确表示10f,但不能精确表示0.1f。
System.out.println(0.1f * 0.1f);
System.out.println(0.1f / 10f);
版画
0.010000001
0.01
注意:使用
double
的错误要少得多,但是如果不使用舍入,它就不会消失。对于GUI应用程序,您不会看到差异,但是会导致计算上的细微差异。
09-30 16:04