Prefijos decimales y binarios

El articulo de esta vez no es mas que una anotación sobre un concepto básico y erróneo. A menudo utilizamos prefijos numéricos, tales como kilo (kilómetro), mega (megahercio), mili (mililitro) o nano (nanosegundo). Especialmente curiosos son aquellos que se utilizan para denominar la capacidad de almacenamiento de un disco duro o memoria RAM. Por lo general estos prefijos hacen referencia a potencias de 10, sin embargo cuando nos referimos al tamaño de un disco duro, no nos referimos a potencias de 10, sino a potencias de 2, lo cual es en la mayoría de los casos erróneo.
Tabla de algunos prefijos numéricos

1024 yotta 1.000.000.000.000.000.000.000.000
1021 zetta 1.000.000.000.000.000.000.000
1018 exa 1.000.000.000.000.000.000
1015 peta 1.000.000.000.000.000
1012 tera 1.000.000.000.000
109 giga 1.000.000.000
106 mega 1.000.000
103 kilo 1.000
102 hecto 100

De este modo, tenemos por ejemplo

  • 1.000 gramos = 1Kilogramo
  • 100 metros cúbicos = 1 hectómetro cúbico
  • 1.000.000 Bytes = 1MegaByte

Sin embargo todos sabemos que esa última equivalencia no es correcta. ¡Pues sí! Sí es correcta. Ocurre que en el mundo digital todo se representa con dos estados (el 0 o el 1), esto es el sistema binario. Debido a esto, resulta muy cómodo trabajar siempre con potencias de 2. Tenemos además que 2^10 es 1024, un valor bastante aproximado a 1000, motivo por el cual históricamente se le han asumido como correctas afirmaciones como estas:

  • 210 bits = 1.024 bits = 1kilobit
  • 220 bytes = 1.048.576 Bytes = 1MegaByte

Pero algo falla. ¿No habíamos quedado en que el prefijo mega se usa para representar a 10^6? Desde luego! ¿Entonces los resultados de arriba son inexactos? ¡Eso es! Realmente serían esto:

  • 210 bits = 1.024 bits = 1,024 kilobit
  • 220 bytes = 1.048.576 Bytes = 1,048576 MegaByte

La International Electrothecnical Commision se dio cuenta de esto, y en 1999 decidió publicar una serie de prefijos nuevos para emplearnos en la tecnología electrónica:

280 yobi Yi 1,208,925,819,614,629,174,706,176 20,8%
270 zebi Zi 1,180,591,620,717,411,303,424 18,0%
260 exbi Ei 1,152,921,504,606,846,976 15,2%
250 pebi Pi 1,125,899,906,842,624 12,5%
240 tebi Ti 1,099,511,627,776 9,9%
230 gibi Gi 1,073,741,824 7,3%
220 mebi Mi 1,048,576 4,8%
210 kibi Ki 1,024 2,4%

Ejemplo práctico
Un día decides comprarte un nuevo disco duro. En la carcasa pone claramente que el disco duro es de 200GB (GigaBytes). Echemos pues cuentas:

200GigaBytes = 200.000 MegaBytes = 200.000.000 KiloBytes = 200.000.000.000 Bytes

decides conectarlo a tu ordenador, y en cuanto lo abres y consultas el espacio libre… ¡Santo Dios! Pero si no tiene nada y pone que solo quedan 186 GB libres! ¿Dónde han ido a parar esos 14 GB? Resulta que tu sistema operativo está usando prefijos binarios, y el fabricante del disco duro utiliza prefijos decimales. ¿Cuál de ellos tiene razón?

En un mundo correcto todos usaríamos prefijos binarios para este cometido, los hombres no pegarían a las mujeres, y a Ana Obregón se la expulsaría del país. Hasta entonces se aceptará como válido llamar 2^20 mega aunque no sea del todo correcto. Esto es algo que saben muy bien los fabricantes de discos duros, y aprovechando la ambigüedad, deciden “inflar” los tamaños de sus dispositivos de cara al cliente.

Mi opinión: Todos deberíamos usar los prefijos binarios en lugar de los decimales, de este modo se elimina la ambigüedad, y si compramos un disco de 1TebiByte sabemos que es de 2^40 Bytes, ni más ni menos.



Deja un comentario