Guía

Cómo se guardan los números decimales: el estándar IEEE 754

Signo, exponente y mantisa explicados con un ejemplo completo, y la razón de los famosos errores de redondeo.

Por el equipo de BinaFácil · Actualizado el 29 de septiembre de 2026

Notación científica, pero en binario

En ciencias escribimos números muy grandes o muy pequeños en notación científica: 0,000123 = 1,23 × 10⁻⁴. Así separamos las cifras significativas (1,23) de la escala (10⁻⁴). El estándar IEEE 754, que usan casi todos los ordenadores desde los años 80, hace lo mismo en base 2: guarda cada número como signo × mantisa × 2exponente.

Las tres partes

FormatoSignoExponenteMantisaTotal
Precisión simple (float)1 bit8 bits23 bits32 bits
Precisión doble (double)1 bit11 bits52 bits64 bits
  • Signo: 0 para positivo, 1 para negativo.
  • Exponente: se guarda con un sesgo (127 en simple, 1023 en doble) para poder representar exponentes negativos sin necesitar otro bit de signo.
  • Mantisa: las cifras significativas. Como un número binario normalizado siempre empieza por «1,», ese 1 no se guarda (es el llamado bit implícito), lo que regala un bit extra de precisión.

Ejemplo completo: −6,25 en precisión simple

  1. Signo: es negativo → 1.
  2. Pasar 6,25 a binario: 6 = 110 y 0,25 = 0,01 → 110,01.
  3. Normalizar: 110,01 = 1,1001 × 2². El exponente real es 2.
  4. Exponente con sesgo: 2 + 127 = 129 = 10000001.
  5. Mantisa: lo que va tras la coma, 1001, rellenado a 23 bits → 10010000000000000000000.

Resultado: 1 10000001 10010000000000000000000, que en hexadecimal es 0xC0C80000.

Cómo pasar la parte decimal a binario

Para la parte entera se divide entre 2; para la parte decimal se hace lo contrario: se multiplica por 2 y se apunta la parte entera del resultado (0 o 1), repitiendo con lo que queda. Con 0,25: 0,25 × 2 = 0,5 → 0; 0,5 × 2 = 1,0 → 1; queda 0 y se termina. Resultado: 0,01.

Por qué 0,1 + 0,2 no da 0,3

Si repetimos el método con 0,1, la secuencia nunca termina: 0,1 en binario es 0,0001100110011… con el patrón «0011» repitiéndose para siempre. Como la mantisa tiene un número limitado de bits, el ordenador guarda el valor más cercano posible, que no es exactamente 0,1. En precisión simple, lo que se guarda es 0,100000001490116…

Al sumar dos números que ya llevan un pequeño error, el error se acumula. Por eso en JavaScript, Python y muchos otros lenguajes, 0.1 + 0.2 devuelve 0.30000000000000004. No es un fallo del lenguaje, sino una consecuencia directa de IEEE 754. Cuando se necesita exactitud total (por ejemplo, con dinero), se usan enteros (céntimos) o tipos decimales especiales.

Valores especiales

IEEE 754 reserva algunas combinaciones para casos especiales: si todos los bits del exponente son 1 y la mantisa es 0, el número es infinito (positivo o negativo según el signo); si la mantisa no es 0, es NaN («not a number», el resultado de operaciones como 0 ÷ 0). También existen el +0 y el −0, que se comparan como iguales.

Compruébalo tú mismo Coma flotante IEEE 754 Abrir la herramienta →

Sobre este proyecto

BinaFácil es un proyecto independiente de herramientas gratuitas. Nació como un conversor sencillo de decimal a binario y ha ido creciendo con más herramientas gratuitas de matemáticas y computación, pensadas para estudiantes, programadores y cualquiera con curiosidad.

Todas las herramientas funcionan enteramente en tu navegador, son gratuitas, no requieren cuenta y no guardan tus datos en ningún servidor. ¿Preguntas, ideas o algo que no funciona como debería? Escribe a contacto@binafacil.com