📜  C++中的restder()(1)

📅  最后修改于: 2023-12-03 15:29:53.845000             🧑  作者: Mango

C++中的remainder()

在C++中,remainder()函数用于计算两个数的余数。该函数的原型如下:

double remainder(double numerator, double denominator);

其中,numerator表示被除数,denominator表示除数。函数返回被除数除以除数的余数。

函数特点
  • 可用于计算整数和浮点数的余数。
  • 返回值为双精度浮点数。
  • 若除数为0,则函数会发生运行时错误。
  • 若被除数为NaN或除数为NaN,则函数将返回NaN。
  • 若被除数为正无穷大或负无穷大,则函数将返回NaN。
  • 若被除数为0,则函数将返回被除数本身。
例子

下面的例子展示了如何使用remainder()函数:

#include <iostream>
#include <cmath>

int main()
{
    std::cout << "remainder(10.5, 3.2) = " << std::remainder(10.5, 3.2) << std::endl;
    std::cout << "remainder(-10.5, 3.2) = " << std::remainder(-10.5, 3.2) << std::endl;
    std::cout << "remainder(10.5, 0.0) = " << std::remainder(10.5, 0.0) << std::endl;
    
    return 0;
}

输出结果为:

remainder(10.5, 3.2) = 1.0999999999999996
remainder(-10.5, 3.2) = -1.0999999999999996
terminate called after throwing an instance of 'std::invalid_argument'
  what():  remainder domain error
注意事项
  • 最好不要使用remainder()函数来比较两个浮点数是否相等,因为浮点数的精度问题可能会导致误差。
  • 若需要计算整数的余数可以使用取模运算符%
  • 若需要进行精确的数值计算可以使用高精度库或者Decimal库。