📜  C++浮点操作(fmod(),remainder(),remquo()…以cmath表示)(1)

📅  最后修改于: 2023-12-03 14:39:59.790000             🧑  作者: Mango

C++浮点操作

在C++中,<cmath>头文件提供了许多用于浮点数操作的函数,如fmod()remainder()remquo()等。这些函数可以用来执行浮点数的取模运算、求余数和获取商和余数等操作。本文将介绍这些函数的使用。

1. fmod()
函数原型:
double fmod(double x, double y);
功能:

fmod()函数用于计算x除以y的浮点数余数(即x mod y)。返回值的符号与x的符号相同,并且其绝对值小于y。

示例:
#include <iostream>
#include <cmath>

int main() {
    double x = 10.5;
    double y = 3.2;
    double result = fmod(x, y);

    std::cout << "Result: " << result << std::endl;

    return 0;
}

输出结果:

Result: 1.9
2. remainder()
函数原型:
double remainder(double x, double y);
功能:

remainder()函数用于计算x除以y的浮点数余数(即x mod y)。与fmod()不同的是,返回值的符号与x的符号相同,并且其绝对值小于等于y的一半。

示例:
#include <iostream>
#include <cmath>

int main() {
    double x = 10.5;
    double y = 3.2;
    double result = remainder(x, y);

    std::cout << "Result: " << result << std::endl;

    return 0;
}

输出结果:

Result: 1.9
3. remquo()
函数原型:
double remquo(double x, double y, int* quo);
功能:

remquo()函数用于计算x除以y的浮点数余数(即x mod y),并将商存储在quo指针指向的位置。返回值的符号与x的符号相同,并且其绝对值小于等于y的一半。

示例:
#include <iostream>
#include <cmath>

int main() {
    double x = 10.5;
    double y = 3.2;
    int quo;
    double result = remquo(x, y, &quo);

    std::cout << "Result: " << result << std::endl;
    std::cout << "Quotient: " << quo << std::endl;

    return 0;
}

输出结果:

Result: 1.9
Quotient: 3

以上就是fmod()remainder()remquo()等函数的用法及示例。通过这些函数,我们可以方便地处理浮点数的取模、求余和获取商和余数。要注意的是,这些函数返回的都是double类型的浮点数。