(Intentando una respuesta muy simple, si no 100% precisa)
Cuando se considera la representación de punto flotante, es útil comparar con la representación de enteros y de punto fijo.
El entero es sencillo: 12345678 No hay punto decimal, por lo que no se puede almacenar ningún valor menor que “1”.
- ¿Cuál es la complejidad computacional de la satisfacción de resolución de restricciones sobre enteros? He leído que es polinomial para las igualdades y NP-duro para las desigualdades, pero, ¿no puedes convertir siempre una restricción de desigualdad en una igualdad agregando vars de holgura?
- ¿Por qué las matemáticas son mucho más difíciles que la programación?
- ¿Qué conceptos matemáticos difíciles se pueden entender fácilmente mediante la programación?
- Informática teórica: ¿cómo empiezo a resolver el problema P = NP?
- ¿Cuál es el propósito del software matemático computacional?
El punto fijo establece un número fijo de lugares después del punto decimal. Con representación de punto fijo “4.4”: 1234.5678 Hay cuatro dígitos antes del punto decimal y 4 dígitos después del punto decimal. Para almacenar el número “1.2”, en realidad debería almacenar “0001.2000”. Cualquier valor menor que “.0001” o mayor que “9999.9999” no se puede almacenar y se pierde.
El punto flotante permite que el punto decimal “flote”. Puedes tener el número 12.345678 o 12345.678 … puedes poner el punto decimal donde quieras. Imagine que tiene el mismo número entero “12345678” y un número adicional que controla dónde va el punto decimal. Entonces “12345678” y “2” son “123456.78” – dos puntos decimales, mientras que “12345678” y “3” son “12345.678”
FWIW: tanto las matemáticas de enteros como las de punto fijo usan los mismos recursos en una CPU. El punto flotante requiere un coprocesador y registros separados. Antes de que los coprocesadores de punto flotante o FPU fueran comunes, la mayoría del software utilizaba números enteros y de punto fijo. Incluso hasta hace unos años, muchas CPU ARM en dispositivos móviles no tenían FPU.