◐ Shell
clean mode source ↗

std::isfinite - cppreference.com

De cppreference.com

Definido en el archivo de encabezado <cmath>

bool isfinite( float arg );

(1) (desde C++11)
(constexpr since C++23)

bool isfinite( double arg );

(2) (desde C++11)
(constexpr since C++23)

bool isfinite( long double arg );

(3) (desde C++11)
(constexpr since C++23)

bool isfinite( TipoEntero arg );

(4) (desde C++11)
(constexpr since C++23)

1-3) Determina si el número de punto flotante dado arg tiene un valor finito; es decir, es normal, subnormal o cero, pero no infinito o NaN.

4) Un conjunto de sobrecargas o una plantilla de función que acepta el argumento arg de cualquier tipo entero. Equivalente a (2) (el argumento se convierte a double).

Parámetros

arg - Valor de punto flotante.

Valor de retorno

true si arg tiene un valor finito; false de lo contrario.

Ejemplo

#include <iostream>
#include <cmath>
#include <cfloat>

int main()
{
    std::cout << std::boolalpha
              << "isfinite(NaN) = " << std::isfinite(NAN) << '\n'
              << "isfinite(Inf) = " << std::isfinite(INFINITY) << '\n'
              << "isfinite(0.0) = " << std::isfinite(0.0) << '\n'
              << "isfinite(exp(800)) = " << std::isfinite(std::exp(800)) << '\n'
              << "isfinite(DBL_MIN/2.0) = " << std::isfinite(DBL_MIN/2.0) << '\n';
}

Salida:

isfinite(NaN) = false
isfinite(Inf) = false
isfinite(0.0) = true
isfinite(exp(800)) = false
isfinite(DBL_MIN/2.0) = true

Véase también