Trabajando con Números de Punto Flotante
Desliza para mostrar el menú
Los números no terminan con los enteros. También existen los números de punto flotante. En C++, utilizamos los tipos de datos float y double para almacenarlos. Este capítulo cubrirá el tipo de dato float, mientras que el siguiente abordará el tipo de dato double y sus diferencias. A continuación se muestra la sintaxis para el uso de float:
float.h
1float num = 0.45;
Echemos un vistazo rápido a cómo se almacenan los números de punto flotante en la memoria.
El tipo de dato float ocupa 4 bytes de memoria, igual que un int. Sin embargo, convertir estos números a código binario es mucho más complicado:
Aquí tienes un ejemplo de cómo se almacenaría float num = 13.45:
No es necesario comprender completamente lo que sucede aquí. Lo importante a destacar es que la representación de un float se divide en 3 partes:
-
el componente de signo está representado por un símbolo de más (
+) o menos (-). Indica si un número es positivo o negativo; -
el componente de exponente determina el rango que un número puede representar. Cuanto mayor sea el exponente, más amplio será el rango de valores que se pueden representar. Para el tipo de dato
float, el exponente ocupa 1 byte (8 bits) de memoria; -
el componente de mantisa determina la precisión de un
float. No todos los números pueden representarse exactamente en memoria, y la precisión de un número está definida por la longitud de la mantisa. Para el tipo de datofloat, la longitud de la mantisa es de 23 bits.
Como resultado, float tiene una precisión de 7 dígitos decimales y un rango de 1.2e-38 a 3.4e+38 (aplica tanto para números negativos como positivos). Por lo tanto, la mayoría de las veces, el rango no es un problema. Sin embargo, la precisión a veces sí lo es.
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla