Este archivo de encabezado consta de valores de coma flotante específicos de la implementación y dependientes de la plataforma . Un punto flotante tiene cuatro partes .
- Signo
Su valor puede ser negativo o no negativo. - Base
También se conoce como base de representación exponencial que representa diferentes números con un solo número, es decir, 2 para binario, 10 para decimal, 16 para hexadecimal, … - Mantisa
También se conoce como mantisa . Es una serie de dígitos de la base. El número de dígitos en la serie se conoce como precisión . - Exponente
También se le conoce como característica , es un número entero entre el mínimo emin y el máximo emax .
Valor de coma flotante = ± precisión X exponente base
Constantes de macros
Las macros de biblioteca son valores específicos del hardware para los tipos de punto flotante. FLT implica tipo flotante , DBL implica doble y LDBL implica doble largo , DIG implica dígitos , MANT implica mantisa , EXP implica exponente .
- FLT_RADIX: Base para todos los tipos de punto flotante
Minimum value is 2
- FLT_DIG: número de dígitos decimales que se pueden redondear a un tipo de punto flotante y volver a los mismos dígitos decimales, sin pérdida de precisión.
Minimum value is 6
- DBL_DIG o LDBL_DIG: Número de dígitos decimales que se pueden redondear a un punto flotante y viceversa sin cambiar el número de dígitos decimales.
Minimum value is 10
- DECIMAL_DIG: dígitos decimales necesarios para representar el valor de punto flotante
No Minimum value
- FLT_MANT_DIG o DBL_MANT_DIG o LDBL_MANT_DIG: Precisión de mantisa, es decir, el número de dígitos que conforman la mantisa.
No Minimum value
- FLT_MIN_EXP o DBL_MIN_EXP o LDBL_MIN_EXP: valor entero negativo mínimo para el exponente que genera un número de punto flotante normalizado.
No Minimum value
- FLT_MIN_10_EXP o DBL_MIN_10_EXP o LDBL_MIN_10_EXP: valor entero negativo mínimo para el exponente de una expresión de base 10 que generaría un número de punto flotante normalizado.
Maximum value is -37
- FLT_MAX_EXP o DBL_MAX_EXP o LDBL_MAX_EXP: valor entero máximo para el exponente que genera un número de punto flotante normalizado.
No Minimum value
- FLT_MAX_10_EXP o DBL_MAX_10_EXP o LDBL_MAX_10_EXP: valor entero máximo para el exponente de una expresión de base 10 que generaría un número de punto flotante normalizado.
Minimum value is 37
- FLT_MAX o DBL_MAX o LDBL_MAX: número de punto flotante representable finito máximo.
Minimum value is 1037
- FLT_EPSILON: Diferencia entre 1 y el menor valor mayor a 1 representable.
Maximum value is 10-5
- DBL_EPSILON o LDBL_EPSILON: Diferencia entre 1 y el menor valor mayor que 1 representable.
Maximum value is 10-9
- FLT_MIN o DBL_MIN o LDBL_MIN: número de punto flotante positivo mínimo representable.
Maximum value is 10-37
- FLT_ROUNDS: redondea el número de coma flotante.
Los diferentes valores posibles son:-1 : indeterminate 0 : towards zero 1 : towards one 2 : towards positive infinity 3 : towards negative infinity
- FLT_EVAL_METHOD: redondea el número de coma flotante.
Los diferentes valores posibles son:-1 : undetermined 0 : evaluate just to the range and precision of the type 1 : evaluate float and double as double, and long double as long double. 2 : evaluate all as long double and Other negative values indicate an implementation defined behavior.
A continuación se muestra el programa para demostrar el funcionamiento de las constantes de macros en la biblioteca cfloat.
// C++ program to demonstrate working // of macros constants in cfloat library #include <cfloat> #include <iostream> using namespace std; int main() { cout << "FLT_RADIX : " << FLT_RADIX << endl; cout << "FLT_DIG : " << FLT_DIG << endl; cout << "DECIMAL_DIG : " << DECIMAL_DIG << endl; cout << "FLT_MIN_10_EXP : " << FLT_MIN_10_EXP << endl; cout << "FLT_MAX_EXP : " << FLT_MAX_EXP << endl; cout << "FLT_MAX_10_EXP : " << FLT_MAX_10_EXP << endl; cout << "FLT_MAX : " << FLT_MAX << endl; cout << "FLT_MIN : " << FLT_MIN << endl; return 0; }
FLT_RADIX : 2 FLT_DIG : 6 DECIMAL_DIG : 21 FLT_MIN_10_EXP : -37 FLT_MAX_EXP : 128 FLT_MAX_10_EXP : 38 FLT_MAX : 3.40282e+38 FLT_MIN : 1.17549e-38
Referencia: http://www.cplusplus.com/reference/cfloat/
Publicación traducida automáticamente
Artículo escrito por ranadeepika2409 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA