把一个浮点数乘以一个整数还是另一个浮点数更快 一般来说,float * float更快,但我怀疑两者几乎没有区别。程序的速度是整个代码的结果,而不仅仅是这一行。在这里快一点,在其他地方可能要花更多的钱。 信任您的编译,或者让一个更好的编译器发出执行0.5784f * some_int良好的代码。 在0.5784f * some_int的情况下,语言要求some_int在乘法之前就转换成float第一个*1。但是,一个敏锐的编译器可能知道一些特定于实现的技巧,可以在没有单独显式转换的情况下直接更好/更快地执行乘法运算,只要它得到一个允许的结果。。 在float y = 0.5784f + 0.3412f * x; //Where x contains either 0 or 1 (determined dynamically).中,编译程序也可以看到这一点,并利用它发出高效的代码。 只有在特定的情况下和有经验的情况下,你才能out-guess编译器。代码为清晰起见。 您可以随时评测不同的代码/编译器选项并进行比较。 提示:根据我的经验,我发现使用更大的代码视图比发布的关注点(即将micro-optimization)获得更多的性能提升。 *1其他可能性见FLT_EVAL_METHOD。