fmod (x, y) = x - tquote * y
其中tquote被截断,即x / y的结果(四舍五入)。
double fmod(double x, double y); float fmod(float x, float y); long double fmod(long double x, long double y); double fmod(Type1 x, Type2 y); //用于其他算术类型组合的附加重载
fmod()函数接受两个参数,并返回double,float或long double类型的值。此函数在<cmath>头文件中定义。
x:分子的值。
y:分母的值。
fmod()函数返回x / y的浮点余数。如果分母y为零,则fmod()返回NaN(非数字)。
#include <iostream> #include <cmath> using namespace std; int main() { double x = 7.5, y = 2.1; double result = fmod(x, y); cout << "余数 " << x << "/" << y << " = " << result << endl; x = -17.50, y = 2.0; result = fmod(x, y); cout << "余数 " << x << "/" << y << " = " << result << endl; return 0; }
运行该程序时,输出为:
余数 7.5/2.1 = 1.2 余数 -17.5/2 = -1.5
#include <iostream> #include <cmath> using namespace std; int main() { double x = 12.19, result; int y = -3; result = fmod(x, y); cout << "余数 " << x << "/" << y << " = " << result << endl; y = 0; result = fmod(x, y); cout << "余数 " << x << "/" << y << " = " << result << endl; return 0; }
运行该程序时,输出为:
余数 12.19/-3 = 0.19 余数 12.19/0 = -nan