← Volver Atrás

Tipos de datos deterministas

Autor: Lucas Deprit · 1/11/2025 · ⏳ 10 min de lectura

⚠️ WIP: Este blog aún está en desarrollo.

Siempre hemos tenido el pensamiento de que los ordenadores son calculadoras exactas. Esto es hasta que te adentras en el mundo de la programación y pruebas operaciones simples con decimales.

Ejemplo:

0.1 + 0.2 = 0.30000000000000004

Los números de coma flotante han sido un problema común durante décadas en el mundo de la programación.

Para resumir, las comas flotantes son no deterministas, es decir, dependiendo de la arquitectura en la que se ejecute tu programa, al calcular un número de coma flotante, este se resolverá con diferentes resultados dependiendo de si estamos en un sistema de 32 bits o 64 bits.


¿Por qué se produce esto?

Los ordenadores representan los números en binario:

Ejemplo:

  • Lo que valdría cada número (potencias de 2):

    1286432168421
  • Representación en binario:

    10101101
    12803208401
  • Resultado: 10101101 = 174

¿Pero qué pasa cuando tenemos que representar números decimales?

En programación, los números decimales se representan mediante el estándar IEEE 754. El valor de un número en punto flotante se calcula con la siguiente fórmula:

Fórmula:
Número = (-1)signo × mantisa × 2exponente

Donde:

  • Signo: Determina si el número es positivo (0) o negativo (1).
  • Exponente: Define la escala del número.
  • Mantisa (o significando): Contiene los dígitos significativos del número en binario.

Explicación mucho mejor que la que yo puedo dar, aquí


⚠️ Work In Progress (WIP) ⚠️

Este artículo está en proceso de desarrollo y seguirá siendo actualizado.