La función fpclassify() se define en el encabezado math.h header en C y la biblioteca cmath en C++ . Esta función se utiliza para obtener el valor de tipo int que coincide con una de las macro constantes de clasificación (dependiendo del valor de x).
Sintaxis:
int fpclassify(int x); int fpclassify(float x); int fpclassify(double x); int fpclassify(long double x);
Parámetros: este método acepta un parámetro x que es el valor que debe coincidir con una de las macro constantes de este método. Puede ser entero, flotante, doble o doble largo.
Valor de retorno: esta función devuelve valores enteros para las constantes macro de la siguiente manera:
- FP_INFINITE : cuando el valor especificado es infinito positivo o negativo
- FP_NAN : cuando el valor especificado no es un número
- FP_ZERO : Cuando el valor especificado es cero.
- FP_SUBNORMAL : cuando el valor especificado es un valor desnormalizado positivo o negativo
- FP_NORMAL : cuando el valor especificado es un valor positivo o negativo normalizado distinto de cero
El siguiente ejemplo demuestra el uso del método fpclassify():
// C++ program to demonstrate // the use of fpclassify() method #include <iostream> #include <math.h> using namespace std; // Function to implement fpclassify() method void fpclassification(double x) { // fpclassify() method switch (fpclassify(x)) { // For the data to be infinite case FP_INFINITE: cout << "Infinite Number \n"; break; // For the data to be not defined // as in divide by zero case FP_NAN: cout << "Not a Number \n"; break; // For the data to be zero case FP_ZERO: cout << "Zero \n"; break; // For the data to be subnormal case FP_SUBNORMAL: cout << "Subnormal value \n"; break; // For the data to be normal case FP_NORMAL: cout << "Normal value \n"; break; // For the data to be invalid default: cout << "Invalid number \n"; } } // Driver code int main() { // Example 1 double a = 1.0 / 0.0; cout << "For 1.0/0.0: "; fpclassification(a); // Example 2 double b = 0.0 / 0.0; cout << "For 0.0/0.0: "; fpclassification(b); // Example 3 double c = -0.0; cout << "For -0.0: "; fpclassification(c); // Example 4 double d = 1.0; cout << "For 1.0: "; fpclassification(d); return 0; }
For 1.0/0.0: Infinite Number For 0.0/0.0: Not a Number For -0.0: Zero For 1.0: Normal value
Publicación traducida automáticamente
Artículo escrito por verma_anushka y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA