C++ 中的 isfinite() 函数

c++server side programmingprogramming

本文将讨论 C++ 中 isfinite() 函数的工作原理、语法和示例。

isfinite() 是 C++ 中的一个内置函数,位于头文件下。isfinite() 函数用于检查并返回给定数字是否为有限数。有限数是指任何既不是无限也不是 NaN(非数字)的浮点数。

语法

bool isfinite(float n);

bool isfinite(double n);

bool isfinite(long double n);

此函数仅包含一个参数 n,即我们需要检查其是否有限的值。

返回值

该函数返回布尔值,如果数字不是有限的,则返回 0(false);如果数字是有限的,则返回 1(true)。

示例

#include <iostream>
#include <cmath>
using namespace std;
int main() {
   float a = 10.0, b = 0.1, c = 0.0;
   isfinite(a/b)?cout<<"\nThe result of a/b is finite":cout<<"\nThe result of a/b is not finite";
   isfinite(a/c)?cout<<"\nThe result of a/c is finite":cout<<"\nThe result of a/c is not finite";
}

输出

如果我们运行上述代码,它将生成以下输出 −

The result of a/b is finite
The result of a/c is not finite

示例

#include <iostream>
#include <cmath>
using namespace std;
int main() {
   float c = 0.0, d = -1.0;
   //检查数字是无限的还是有限的
   isfinite(c)?cout<<"\nFinite number":cout<<"\nNot a finite number";
   cout<<isfinite(sqrt(d)); //Result will be -NAN
}

输出

如果我们运行上述代码,它将生成以下输出 −

Finite number
0

注意 -1.0 的平方根 − 将返回 nan


相关文章