最近我遇到了需要fmod()在 C++ 中使用函数来计算两个长双操作数的模数。
但我也看到有一些 C++“剩余”函数可以完成几乎相同的工作。
这两个函数有什么区别?
remainder()C++ 中的函数计算分子/分母的浮点余数(四舍五入到最接近)。
remainder (x, y) = x - rquote * y
其中 rquote 是 x/y 的结果,向最接近的整数值四舍五入(中间情况向偶数四舍五入)。
另一方面,fmod()C++ 中的函数计算分子/分母的浮点余数(向零舍入)。
fmod (x, y) = x - tquote * y
其中 tquote 被截断,即(向零舍入)x/y 的结果。
例子
double x = 7.5, y = 2.1;
double result = remainder(x, y);// output is -0.9
double result2 = fmod(x, y);// output is 1.2
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3993 次 |
| 最近记录: |