C++官网参考链接:https://cplusplus.com/reference/cmath/remainder/
函数
remainder
C99
double remainder(double numer, double denom);
float remainderf(float numer, float denom);
long double remainderl(long double numer, long double denom);
C++11
double remainder(double numer, double denom);
float remainder(float numer, float denom);
long double remainder(long double numer, long double denom);
double remainder(Type1 numer, Type2 denom); // additional overloads
计算余数(IEC 60559)
返回numer/denom的浮点余数(舍入到最近的整数值):
remainder = numer - rquot * denom
其中rquot是number/denom舍入到最近的整数值(中间的情况舍入到偶数)的结果。
类似的函数fmod返回相同但是商被截断(向零舍入)的结果。
函数remquo的行为与此函数相同,但它还提供了对所使用的中间的商的值的访问。
C99
头文件
C++11
这个头文件(
形参
numer
商分子的值。
denom
商分母的值。
返回值
除以实参的余数。
如果这个余数为0,它的符号应为numer的符号。
如果denom为0,函数可能返回0或导致定义域错误(取决于库实现)。
如果发生定义域错误:
—math_errhandling具有MATH_ERRNO集合:全局变量errno设置为EDOM。
—math_errhandling具有MATH_ERREXCEPT集合:将引发FE_INVALID。
用例
/* remainder example */
#include
#include
int main ()
{
printf ( "remainder of 5.3 / 2 is %f\n", remainder (5.3,2) );
printf ( "remainder of 18.5 / 4.2 is %f\n", remainder (18.5,4.2) );
return 0;
}
输出:
