我试图计算,但我没有得到正确的结果,并努力理解其中的原因。
计算
float Signal = ((20 - 0) / (20 - 4)) * (F5 - 4) + 0;F5 = 12,并被声明为“浮动”类型。
当运行计算器时,您将得到以下结果:
然而,当这在Android代码中运行时,我得到了8的结果。
为什么,我想知道发生了什么
发布于 2016-10-18 20:46:43
第一个项((20 - 0) / (20 - 4))是用整数算法计算的,给出了一个1值。这使得最终结果8,而不管F5的类型如何。如果希望在浮点中发生这种情况,请使用浮点常量。
float Signal = ((20f - 0f) / (20f - 4f)) * (F5 - 4f) + 0f;从技术上讲,您不需要由于数值提升而使所有常量都浮动,但对于那些阅读代码的人来说,您想要让所有的内容都成为浮点,这一点要清楚得多。
https://stackoverflow.com/questions/40117742
复制相似问题