【发布时间】:2017-05-31 19:15:07
【问题描述】:
刚刚在一些旧的 src 代码中找到以下行:
int e = (int)fmod(matrix[i], n);
其中matrix 是int 的数组,n 是size_t
我想知道为什么在我们有整数参数的地方使用fmod 而不是%,即为什么不使用:
int e = (matrix[i]) % n;
选择fmod 而不是% 可能是出于性能原因,还是只是一段奇怪的代码?
【问题讨论】:
-
fmod正在使用浮点值,这些值将被转换为double并返回。所以:没有。对于整数运算,请使用%运算符。 -
可能会慢一些吗?我不习惯从 C 语句中生成相应的程序集,但我想如果你使用 fmod 而不是 %