将0添加到浮点数的重点是什么?

时间:2018-05-31 17:50:18

标签: math floating-point

我已经看过一些代码示例,他们已将0f添加到另一个我不太了解的浮动中。

最新的例子来自于使用Monogame和C#制作的预先战争克隆,如果我没记错的话。

                var hit = (int)(basedamage
                                * (Math.Ceiling((double)Life / 10f) / 10f)
                                * ((100f + 0f) / (100f + 0f)));

在我看来,毫无意义地将0添加到另一个数字以来......它已经是0.但是它已被明确定义为浮点数所以我认为这是一个理由

我问了一个关于游戏开发不和谐的问题,其中一个人告诉它,这可能是为了增加精确度'但他自己似乎并不那么肯定。我无法在谷歌上找到任何信息(并且说实话,我真的不知道如何说出我正在努力找到的信息)

所以,只是为了增加更多的精确度'浮动或是否还有其他原因导致某些人这样做?

1 个答案:

答案 0 :(得分:2)

没有理由这样做。所有已订购x * ((100f + 0f) / (100f + 0f))) == x的{​​{1}}。此代码可能源于自动生成,来自过于狭窄的代码编辑随着时间的推移,或者由于某人对浮点计算的错误信念。但无论如何,没有必要。