Cómo funciona
Las unidades de almacenamiento se cuentan de dos maneras distintas y las dos son correctas. El sistema decimal, que es el que usan los fabricantes de discos y el Sistema Internacional, multiplica por 1000 en cada prefijo: un kB son 1000 bytes, un MB un millón y un TB un billón. El sistema binario, que es el que nació con las computadoras, multiplica por 1024, porque la memoria y los buses se direccionan en potencias de dos.
El problema es que durante décadas los dos sistemas usaron los mismos nombres. Cuando el Explorador de Windows dice "GB" en realidad está calculando gibibytes, es decir, dividiendo por 1024 tres veces. Por eso un disco de 1 TB, que trae exactamente un billón de bytes, aparece en pantalla como 931,32 GB: no falta nada, sólo cambió la regla con la que se cuenta. Desde 1998 la norma IEC 80000-13 resuelve la ambigüedad con los prefijos binarios KiB, MiB, GiB y TiB.
Esta herramienta convierte una capacidad entre las tres familias a la vez —decimal, binaria y bits— y muestra la cantidad exacta de bytes, la cifra que declara el fabricante y la que va a mostrar el sistema operativo, con el porcentaje de diferencia entre ambas. Todo el cálculo se hace en el navegador.
Ejemplos
1 TB931,32 GBEl disco trae 1.000.000.000.000 de bytes, exactamente lo que promete la caja. El sistema los divide tres veces por 1024 y muestra 931,32 GB, que en rigor son 931,32 GiB. En pantalla parecen faltar casi 69 GB; en el disco no falta un solo byte.1 GiB1073741824 BUn gibibyte son 2^30 bytes. Un gigabyte decimal son 1.000.000.000, así que el binario es un 7,37 % más grande. Es la misma diferencia que separa lo que decís cuando pedís "un giga" de lo que entiende cada programa.4 TB3,64 TiBCuanto más grande es el prefijo, más se separan los dos sistemas: 2,34 % en los kilo, 6,87 % en los giga y 9,05 % en los tera. Por eso la sensación de "disco chico" empeora justo con los discos grandes.100 Mbit12,5 MBLos enlaces de red se miden en bits y el almacenamiento en bytes. Un enlace de 100 Mbit/s baja como máximo 12,5 MB por segundo, porque cada byte son 8 bits. La cuenta explica la mitad de los reclamos a los proveedores de internet.Casos de uso
- Entender por qué un disco de 1 TB o un pendrive de 64 GB muestran menos capacidad de la que dice el envase.
- Traducir a algo legible el tamaño en bytes que devuelve una API, un log o el comando ls -l.
- Comparar el tamaño de un backup o de una imagen entre dos herramientas que miden con distinta regla.
- Dimensionar cuotas, volúmenes o límites de subida cuando la documentación habla en MiB y la interfaz en MB.
- Convertir la velocidad de un enlace en Mbit/s a la velocidad de descarga real en MB/s.
- Explicarle a un cliente, con números, que el disco que compró no viene con menos espacio del prometido.
Preguntas frecuentes
Compré un disco de 1 TB y veo 931 GB, ¿me estafaron?
No. El disco tiene 1.000.000.000.000 de bytes, que es lo que significa 1 TB en el sistema decimal que usan todos los fabricantes. Windows toma esos mismos bytes y los divide por 1024 tres veces, lo que da 931,32, pero al resultado le pone la etiqueta "GB" en lugar de "GiB". Es un problema de cartel, no de capacidad: los bytes están todos ahí. Lo que sí se pierde de verdad, y aparte, es lo que reserva el sistema de archivos al formatear.
¿Cuál es la diferencia entre GB y GiB?
Un GB son 1.000.000.000 de bytes (10^9) y un GiB son 1.073.741.824 (2^30). El gibibyte es un 7,37 % más grande. La misma relación se repite en cada nivel: kB frente a KiB, MB frente a MiB, TB frente a TiB. Los símbolos binarios llevan una "i" en el medio y se pronuncian kibi, mebi, gibi y tebi.
¿Todos los sistemas operativos muestran lo mismo?
No, y ahí se agrega confusión. Windows calcula en potencias de 1024 pero rotula GB y TB, así que muestra 931 GB para un disco de 1 TB. macOS mide en decimal desde 2009, por lo que el mismo disco aparece como 1 TB. En Linux depende de la herramienta: df -h y ls -lh usan 1024, df -H y ls -l --si usan 1000, y muchas utilidades ya escriben GiB cuando corresponde. El disco nunca cambió; cambió quién lo mide.
¿Por qué la memoria RAM sí coincide con lo que dice la caja?
Porque la memoria se fabrica y se direcciona en potencias de dos: un módulo de "16 GB" tiene en realidad 16 GiB, es decir 17.179.869.184 bytes. Como el sistema operativo también cuenta en binario, los dos números coinciden y nadie nota nada. Con los discos pasa lo contrario: el fabricante cuenta en decimal y el sistema en binario, y la diferencia salta a la vista.
¿Cuánto crece la diferencia según el prefijo?
Se acumula un 2,4 % por nivel. El número que muestra el sistema queda un 2,34 % más chico en los kilo, 4,63 % en los mega, 6,87 % en los giga, 9,05 % en los tera, 11,18 % en los peta y 13,26 % en los exa. Por eso en un archivo de unos pocos kB la diferencia es imperceptible y en un arreglo de varios petabytes representa cientos de terabytes de expectativa.
¿Un Mbit es lo mismo que un MB?
No, y la diferencia es de ocho veces. Los enlaces de red se miden en bits por segundo y el almacenamiento en bytes, y un byte son 8 bits. Un enlace de 300 Mbit/s entrega como máximo 37,5 MB/s de descarga, antes de descontar los encabezados de los protocolos. Además los prefijos de red siempre son decimales: un Mbit son un millón de bits, nunca 1.048.576.
¿Por qué a mi SSD le falta todavía más espacio?
A la diferencia entre decimal y binario se le suman dos cosas. La primera es el sobreaprovisionamiento: el controlador se reserva una porción de la memoria flash, que no se puede usar, para reemplazar bloques gastados y acelerar la escritura. La segunda es el sistema de archivos, que consume espacio en tablas, journal y metadatos apenas se formatea. Ninguna de las dos es una falla: son el precio de que la unidad dure y funcione.
Entonces, ¿qué unidad conviene usar al escribir documentación?
La que no deje dudas. Si el valor se calcula con potencias de 1024, escribí MiB o GiB; si se calcula con potencias de 1000, escribí MB o GB. En una API o un archivo de configuración lo más seguro es exponer directamente la cantidad de bytes y dejar que la interfaz elija cómo mostrarla. Es una línea de código que evita horas de discusión sobre por qué dos herramientas informan cifras distintas del mismo archivo.