fmod
浮点数取模,即x模y。
接口定义
C interface:
float fmodf(float x, float y);
double fmod(double x, double y);
long double fmodl(long double x, double y);
参数
参数名 |
类型 |
描述 |
输入/输出 |
---|---|---|---|
x |
|
表示输入数据的浮点值。 |
输入 |
y |
|
表示输入数据的浮点值。 |
输入 |
返回值
- 返回x模y的结果。
- 输入x为任意值,y为±0或nan,返回nan。
- 输入x为±0,y不为±0和nan,返回±0。
- 输入x为±∞或者nan,y为任意值,返回nan。
依赖
C: "km.h"
示例
C interface:
// typical usage float x1 = -1.0, x2 = 2.0, x3 = 3.0, x4 = 4.0; float y1 = 4.0, y2 = -4.0, y3 = -3.0, y4 = 3.0; // special handing float a = 0.0, b = INFINITY, c = -INFINITY, d = NAN; // print result printf("fmodf(-1.0, 4.0) = %.6f\n", fmodf(x1, y1)); printf("fmodf(2.0, -4.0) = %.6f\n", fmodf(x2, y2)); printf("fmodf(3.0, -3.0) = %.6f\n", fmodf(x3, y3)); printf("fmodf(4.0, 3.0) = %.6f\n", fmodf(x4, y4)); printf("fmodf(1.0, 0.0) = %+.6f\n", fmodf(x1, a)); printf("fmodf(INFINITY, 1.0) = %+.6f\n", fmodf(b, x1)); printf("fmodf(-INFINITY, -1.0) = %+.6f\n", fmodf(c, -x1)); printf("fmodf(1.0, -INFINITY) = %+.6f\n", fmodf(x1, c)); printf("fmodf(1.0, NAN) = %+.6f\n", fmodf(x1, d)); printf("fmodf(NAN, -1.0) = %+.6f\n", fmodf(d, -x1)); /* * fmodf(-1.0, 4.0) = -1.000000 * fmodf(2.0, -4.0) = 2.000000 * fmodf(3.0, -3.0) = 0.000000 * fmodf(4.0, 3.0) = 1.000000 * fmodf(1.0, 0.0) = -nan * fmodf(INFINITY, 1.0) = -nan * fmodf(-INFINITY, -1.0) = -nan * fmodf(1.0, -INFINITY) = +1.000000 * fmodf(1.0, NAN) = +nan * fmodf(NAN, -1.0) = +nan * */
父主题: 取余函数