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++, se utilizan 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;
Veamos rápidamente 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 pasa nada si no comprendes completamente lo que está ocurriendo aquí. Lo importante a destacar es que la representación de un float se divide en 3 partes:
-
el componente signo está representado por un símbolo de más (
+) o menos (-). Indica si un número es positivo o negativo; -
el componente exponente determina el rango que un número puede representar. Cuanto mayor sea el exponente, mayor 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 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. Pero 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