C++ 标准库 - <cmath>

C++ std::fmod(x, y) 返回 x 除以 y 的余数,符号与被除数 x 相同。整数取余用 %,浮点没有 %,应使用 fmod。

原型

double fmod(double x, double y);

参数

  • x:被除数。
  • y:除数,不可为 0。

返回值

余数。除数为 0 时结果为 NaN(实现相关)。

示例

#include <cmath>
#include <iostream>

int main() {
    std::cout << std::fmod(7.5, 2.0) << std::endl;
    std::cout << std::fmod(-7.5, 2.0) << std::endl;
    return 0;
}

输出:

1.5
-1.5

注意事项

需要余数落在 [0, y) 时,负数结果还要再调整。角度归一化到周期内常用 fmod。

下一页介绍log:自然对数。