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.