📜  C++中的isfinite()函数(1)

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

C++中的isfinite()函数

在C++中,isfinite()是一个非常实用的函数,用于判断一个浮点数是否为有限的(即非无穷大,非NaN),返回值为bool类型。isfinite()函数可以避免一些数学运算中的错误和程序崩溃。

语法
bool isfinite(float arg);
bool isfinite(double arg);
bool isfinite(long double arg);

参数arg为需要判断的浮点数。

返回值

当arg为有限浮点数(非无穷大,非NaN)时返回true,否则返回false。

示例

下面是一个使用isfinite()函数的示例:

#include <iostream>
#include <cmath>

int main() {
    double a = 1.0 / 0.0; // 无穷大
    double b = sqrt(-1); // NaN
    double c = 3.14;

    std::cout << std::boolalpha << std::isfinite(a) << std::endl; // false
    std::cout << std::boolalpha << std::isfinite(b) << std::endl; // false
    std::cout << std::boolalpha << std::isfinite(c) << std::endl; // true

    return 0;
}

运行结果为:

false
false
true
总结

isfinite()函数可以很方便地判断一个浮点数是否为有限的,避免一些数学运算中的错误和程序崩溃。在实际编程中,建议在进行数学计算前先使用isfinite()函数进行判断,以保证程序的正确性和稳定性。