这两者之间有什么区别吗
float foo1 = (int)(bar / 3.0);
float foo2 = floor(bar / 3.0);
据我所知,这两个 case 的结果是一样的.编译后的代码有什么不同吗?
这两者之间有什么区别吗
float foo1 = (int)(bar / 3.0);
float foo2 = floor(bar / 3.0);
据我所知,这两个 case 的结果是一样的.编译后的代码有什么不同吗?
强制转换为整数将向零截断.floor()
将向负无穷方向截断.如果bar
为负值,这将给出不同的值.