Функция isinf
Функция isinf проверяет, является ли переданное ей число бесконечностью. Она возвращает true, если аргумент равен положительной или отрицательной бесконечности, и false в противном случае. Функция доступна для типов float, double и long double. Для использования функции необходимо подключить заголовочный файл <cmath>.
Синтаксис
#include <cmath>
bool isinf(float num);
bool isinf(double num);
bool isinf(long double num);
Пример
Давайте проверим несколько значений на бесконечность:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
double a = 1.0 / 0.0;
double b = -1.0 / 0.0;
double c = 123.45;
cout << isinf(a) << endl;
cout << isinf(b) << endl;
cout << isinf(c) << endl;
return 0;
}
Результат выполнения кода:
1
1
0
Пример
Давайте проверим значение, полученное в результате переполнения при делении:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
double res = 1e308 * 10.0;
if (isinf(res))
{
cout << "Result is infinity" << endl;
}
else
{
cout << "Result is finite" << endl;
}
return 0;
}
Результат выполнения кода:
"Result is infinity"