这些有什么区别吗:
float foo1 = (int)(bar / 3.0);
float foo2 = floor(bar / 3.0);
据我了解,这两种情况的结果相同。编译出来的代码有区别吗?
最佳答案
转换为 int 将截断为零。 floor()
将向负无限截断。如果 bar
为负数,这将为您提供不同的值。
关于c++ - 转换到 int vs floor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3300290/