¿Cómo se representan los números fraccionarios en las computadoras?

Por lo general, no los almacenamos como una fracción explícita (por ejemplo, 1/3), esto sería muy inconveniente por muchas razones. Eso no quiere decir que no podríamos si surgiera la necesidad, pero, por lo general, abrumadoramente, no lo hacemos.

Por lo general, solo almacenamos la versión de “notación decimal”, por lo que 0.333333333 en lugar de 1/3. Por supuesto, las computadoras realmente funcionan en binario, no en ‘decimales’, así que, en su lugar, .01010101010101010101010101010101.

Por supuesto, eso no es “exacto”, o al menos, no es 100% exacto, pero puede ser bastante bueno. Un número de alta precisión puede tener aproximadamente 16 dígitos (decimales) de precisión, lo cual es lo suficientemente bueno para la mayoría de los propósitos prácticos.

También usamos una representación llamada “punto flotante” donde almacenamos la posición del punto decimal (bueno, el “punto binario”) por separado de los dígitos reales. Esto nos permite representar números muy grandes y muy pequeños con el mismo número de dígitos significativos … pero resulta en números muy grandes que tienen menos dígitos después del punto decimal que los números pequeños.

Hay varias formas de almacenar una fracción en una computadora:

  • Exactamente, como una cadena de texto
  • Exactamente, como numerador y denominador
  • Aproximadamente, como un número de punto fijo (por ejemplo, como la suma más cercana en incrementos de 1/65536)
  • Aproximadamente, como un número de coma flotante (p. Ej., Con un máximo de 24 bits de precisión fraccional)

Cada una de estas formas tiene ventajas y desventajas.