C++ remquo() 函数使用方法及示例

C++ 库函数 <cmath>

C ++中的remquo()函数计算分子/分母的浮点余数,并且还将商存储到传递给它的指针。

C ++中的remquo()函数计算分子/分母的浮点余数(四舍五入到最接近的值)。它还将商存储到传递给它的指针。它返回与restder()函数相同的值。

remquo()原型[从C ++ 11标准开始]

double remquo(double x, double y, int* q); 
float remquo(float x, float y, int* q);
long double remquo(long double x, long double y, int* q);
double remquo(Type1 x, Type2 y, int* q); // 用于其他算术类型组合的附加重载。

remquo()函数接受三个参数,并返回double,float或long double类型的值。此功能在<cmath>头文件中定义。

remquo()参数

  • x:分子的值。

  • y:分母的值。

  • q:指向对象的指针,内部用于确定余数的商存储为int类型的值。

remquo()返回值

remquo()函数返回x / y的浮点余数(四舍五入到最接近的值)。如果分母y为零,则remquo()返回NaN(非数字)。

示例1:remquo()在C ++中如何工作?

#include <iostream>
#include <cmath>

using namespace std;

int main()
{
    int q;
    double x = 12.5, y = 2.2;

    double result = remquo(x, y, &q);
    cout << "余数 " << x << "/" << y << " = " << result << endl;
    cout << "商 " << x << "/" << y << " = " << q << endl << endl;

    x = -12.5;
    result = remquo(x, y, &q);
    cout << "余数 " << x << "/" << y << " = " << result << endl;
    cout << "商 " << x << "/" << y << " = " << q << endl << endl;

    y = 0;
    result = remquo(x, y, &q);
    cout << "余数 " << x << "/" << y << " = " << result << endl;
    cout << "商 " << x << "/" << y << " = " << q << endl << endl;
    
    return 0;
}

运行该程序时,输出为:

余数 12.5/2.2 = -0.7
商 12.5/2.2 = 6

余数 -12.5/2.2 = 0.7
商 -12.5/2.2 = -6

余数 -12.5/0 = -nan
商 -12.5/0 = 0

示例2:remquo()函数用于不同类型的参数

#include <iostream>
#include <cmath>

using namespace std;

int main()
{
    int q;
    double x = 12.5
    int y = 10;
    
    result = remquo(x, y, &q);
    cout << "余数 " << x << "/" << y << " = " << result << endl;
    
    return 0;
}

运行该程序时,输出为:

余数 12.5/10 = 2.5
商 12.5/10 = 1

C++ 库函数 <cmath>