std:: fpclassify
|
Definido en el encabezado
<cmath>
|
||
| (1) | ||
|
int
fpclassify
(
float
num
)
;
int
fpclassify
(
double
num
)
;
|
(desde C++11)
(hasta C++23) |
|
|
constexpr
int
fpclassify
(
/* floating-point-type */
num
)
;
|
(desde C++23) | |
|
Definido en el encabezado
<cmath>
|
||
|
template
<
class
Integer
>
int fpclassify ( Integer num ) ; |
(A) |
(desde C++11)
(constexpr desde C++23) |
std::fpclassify
para todos los tipos de punto flotante sin calificadores cv como el tipo del parámetro
num
.
(desde C++23)
Contenidos |
Parámetros
| num | - | valor de punto flotante o entero |
Valor de retorno
uno de FP_INFINITE , FP_NAN , FP_NORMAL , FP_SUBNORMAL , FP_ZERO o un tipo definido por la implementación, que especifica la categoría de num .
Notas
Las sobrecargas adicionales no requieren ser proporcionadas exactamente como (A) . Solo necesitan ser suficientes para garantizar que para su argumento num de tipo entero, std :: fpclassify ( num ) tenga el mismo efecto que std :: fpclassify ( static_cast < double > ( num ) ) .
Ejemplo
#include <cfloat> #include <cmath> #include <iostream> auto show_classification(double x) { switch (std::fpclassify(x)) { case FP_INFINITE: return "Inf"; case FP_NAN: return "NaN"; case FP_NORMAL: return "normal"; case FP_SUBNORMAL: return "subnormal"; case FP_ZERO: return "zero"; default: return "unknown"; } } int main() { std::cout << "1.0/0.0 is " << show_classification(1 / 0.0) << '\n' << "0.0/0.0 is " << show_classification(0.0 / 0.0) << '\n' << "DBL_MIN/2 is " << show_classification(DBL_MIN / 2) << '\n' << "-0.0 is " << show_classification(-0.0) << '\n' << "1.0 is " << show_classification(1.0) << '\n'; }
Salida:
1.0/0.0 is Inf 0.0/0.0 is NaN DBL_MIN/2 is subnormal -0.0 is zero 1.0 is normal
Véase también
|
(C++11)
|
comprueba si el número dado tiene un valor finito
(función) |
|
(C++11)
|
comprueba si el número dado es infinito
(función) |
|
(C++11)
|
comprueba si el número dado es NaN
(función) |
|
(C++11)
|
comprueba si el número dado es normal
(función) |
|
proporciona una interfaz para consultar propiedades de todos los tipos numéricos fundamentales
(plantilla de clase) |
|
|
Documentación C
para
fpclassify
|
|