C90 | double fmod (double numer, double denom); |
C99 | double fmod (double numer , double denom);
float fmodf (float numer , float denom); long double fmodl (long double numer, long double denom); |
C++98 | double fmod (double numer , double denom);
float fmod (float numer , float denom); long double fmod (long double numer, long double denom); |
C++11 | double fmod (double numer , double denom);
float fmod (float numer , float denom); long double fmod (long double numer, long double denom); double fmod (Type1 numer , Type2 denom); // additional overloads |
C99 | 头文件<tgmath.h> 提供了该函数的类型泛型宏版本。 |
C++11 | 这个头文件(<cmath>) 为其他算术类型组合(Type1和Type2)提供了额外的重载:
这些重载在计算前将其实参转换为double,除非至少有一个实参是
long double类型(在这种情况下,两个实参都被转换为long double类型)。
|
C90(C++98) | 如果出现域错误,全局变量errno将被设置为 EDOM. |
C99(C++11) | 如果出现域错误:
-并且math_errhandling设置了MATH_ERRNO: 全局变量errno设置为EDOM. -并且math_errhandling设置了MATH_ERREXCEPT: 触发FE_INVALID. |
/* fmod example */ #include <stdio.h> /* printf */ #include <math.h> /* fmod */ int main () { printf ( "fmod of 5.3 / 2 is %f\n", fmod (5.3,2) ); printf ( "fmod of 18.5 / 4.2 is %f\n", fmod (18.5,4.2) ); return 0; } |
fabs | 绝对值(function ) |
remainder | 计算余数(IEC 60559)(function ) |
modf | 分成小数部分和整数部分 (function ) |