# Prefijo binario

Los prefijos binarios sirven para crear múltiplos binarios, es decir de base 2 (sistema binario). Actualmente forman parte del estándar internacional ISO/IEC 80000-13.

## Visión general

Se utilizan normalmente para crear múltiplos del byte, siendo similares en concepto a los prefijos del SI, aunque estos son de base 10 (Sistema decimal), lo que puede llevar a serias confusiones, dado que los valores resultantes son diferentes, por ejemplo:
* 1 kibibyte = 1024 bytes = 2$^{10}$ bytes. Prefijo binario ISO/IEC 80000-13.
* 1 kilobyte = 1000 bytes = 10$^3$ bytes. Prefijo del SI.
* En la época de las computadoras de 32 KB de memoria ROM esta diferencia era relativamente pequeña, ya que la diferencia entre 2$^{10}$ y 10$^3$ es 2,4%. En cambio con el acelerado crecimiento de la capacidad de las memorias y de los periféricos de almacenamiento en la actualidad, las diferencias llevan a errores cada vez mayores. (Véase: Tabla de diferencias)

### GNU/Linux

Los prefijos binarios-13 ya son utilizados por algunas distribuciones GNU/Linux, por ejemplo: Sin embargo, GNU Coreutils, disponible desde terminales como Bash, utiliza la orden ls, que usa potencias de 1024 indicadas como KB/MB.

## Historia
### IEC 60027-2

Para terminar con la confusión provocada por el empleo de dos interpretaciones diferentes para los prefijos binarios, el mes de febrero del año 1999 el comité técnico 25 (cantidades y unidades) de la IEC publicó la norma IEC 60027-2:
En esta norma introduce los prefijos kibi, mebi, gibi, tebi, pebi y exbi, nombres formados con las primeras dos letras de cada prefijo del SI y el sufijo bi por binario. La norma también estipula que los prefijos SI siempre tendrán los valores de potencias de 10 y nunca deberán ser usados como potencias de 2. En el año 2005 la IEC publicó la tercera revisión de la norma, añadiendo los prefijos, zebi y yobi.

### Octava edición del SI

La octava edición del Sistema Internacional de Unidades (SI) publicada en el año 2006 precisa que los prefijos del SI se utilizan estrictamente para referirse a potencias de 10, y recomienda que los prefijos adoptados por la IEC para potencias binarias en el estándar internacional CEI 60027-2:2005, tercera edición se utilicen en el campo de la tecnología informática para evitar el uso incorrecto de los prefijos del SI, aunque estos prefijos no sean parte del SI.

### ISO/IEC 80000-13

La ISO/IEC 80000-13 es un estándar revisado y armonizado resultante de las normas ISO 31 y IEC 60027, que incorpora los prefijos binarios del IEC. (Véase Tabla ISO/IEC 80000-13 (en bytes))

## Estándar relacionados
### IEEE 1541-2002

El IEEE aceptó el uso de los prefijos binarios para sus miembros, bajo la norma IEEE 1541-2002 publicada en el año 2002 y elevado a estándar en el año 2005. La norma, posteriormente estándar, estaba estrechamente relacionada con el estándar IEC 60027-2, pero con la diferencia de que este último usaba el símbolo bit para el bit.

## Mal uso de los prefijos del SI

Anteriormente al estándar internacional ISO/IEC 80000-13, los prefijos del SI se utilizaban tanto para determinar valores de base 2 (Sistema binario) como de base 10 (Sistema decimal), cosa que no es posible, ya que 1000 no es 1024.

### Telecomunicaciones

Los ingenieros de telecomunicación, usan y usaban habitualmente los prefijos del SI para determinar valores de base 2 (sistema binario). Aunque de manera diferente, dado que utilizan bits, no bytes. Por ejemplo:
* En una conexión de 1 Mbit/s, los datos transferidos, son de 1 000 000 bit/s. Que en realidad son: 125 000 B/s o 125 kB/s.

### Fabricantes de dispositivos de almacenamiento

Los fabricantes de dispositivos de almacenamiento de datos, usan y usaban habitualmente los prefijos del SI para determinar valores de base 2 (Sistema binario), contribuyendo a la confusión.
Al comprar un dispositivo de almacenamiento (como por ejemplo un disco duro) se suele encontrar con que el fabricante da la capacidad de almacenamiento del dispositivo empleando los prefijos del SI, pero el ordenador devuelve el dato con prefijos binarios ISO/IEC 80000-13.

#### Fórmula

Para convertir la cifra de formato base 10 (Sistema decimal) a base 2 (Sistema binario) se debe seguir la siguiente fórmula, donde N es el dato que le dará el fabricante en prefijos del SI y R el dato con prefijo binario ISO/IEC 80000-13, que se quiere hallar.
    ${{N\cdot 10^{x}} \over 2^{y}}=R$
Cambiando el exponente x por potencias del SI. Por ejemplo giga (G)= 10$^9$, es decir x es igual a 9.
Cambiando el exponente y por potencias del ISO/IEC 80000-13. Por ejemplo gibi (Gi) = 2$^{30}$, es decir y es igual a 30.
(Consúltese la tabla de la parte superior de este mismo artículo para obtener los exponentes x e y rápidamente).

##### Ejemplo

Un disco duro de 500 gigabytes (GB).
    ${{500\cdot 10^{9}} \over 2^{30}}=R=465,661287\approx 465$
Por lo que la capacidad expresada con prefijo binario ISO/IEC 80000-13 será de 465 gibibytes (GiB) (deben despreciarse los decimales). Al conectar el disco duro al ordenador se comprueba que efectivamente indica la cantidad disponible como 465 gibibytes (GiB) (o 465 gigabytes (GB) si el sistema operativo utiliza incorrectamente los prefijos del SI como múltiplos de 1024).
* Se debe tener en cuenta que:
* La capacidad expresada con prefijo decimal resulta en una cifra mayor que si se expresara con prefijo binario.
* Cuanto mayor capacidad tiene un disco duro, mayor es la diferencia entre las cifras que expresan esta capacidad con prefijo decimal o binario.

#### Fabricantes de disquetes

Los fabricantes de disquetes trabajaban de una forma totalmente diferente, para ellos el prefijo mega (símbolo M) no significaba (1000 x 1000) = 1 000 000 (10$^6$) bytes. Ni tampoco utilizaban (1024 x 1024) 1 048 576 (2$^{20}$) bytes, como el estándar ISO/IEC 80000-13.
Por ejemplo:
* El disquete común de 1,44 MB tenía una capacidad de (1,44 × 1000 × 1024) = 1 474 560 bytes.

## Tablas
### Tablas ISO/IEC 80000-13

Prefijos binarios ISO/IEC 80000-13 (en bytes) :
| Prefijo | Símbolo del prefijo | Nombre resultante del prefijo + byte | Símbolo del múltiplo del byte | Factor y valor en el ISO/IEC 80000-13 |
| Valor de referencia | | byte | B | 2$^0$ = 1 |
| kibi | Ki | kibibyte | KiB | 2$^{10}$ = 1 024 |
| mebi | Mi | mebibyte | MiB | 2$^{20}$ = 1 048 576 |
| gibi | Gi | gibibyte | GiB | 2$^{30}$ = 1 073 741 824 |
| tebi | Ti | tebibyte | TiB | 2$^{40}$ = 1 099 511 627 776 |
| pebi | Pi | pebibyte | PiB | 2$^{50}$ = 1 125 899 906 842 624 |
| exbi | Ei | exbibyte | EiB | 2$^{60}$ = 1 152 921 504 606 846 976 |
| zebi | Zi | zebibyte | ZiB | 2$^{70}$ = 1 180 591 620 717 411 303 424 |
| yobi | Yi | yobibyte | YiB | 2$^{80}$ = 1 208 925 819 614 629 174 706 176 |
Prefijos binarios ISO/IEC 80000-13 (en bits) :
| Prefijo | Símbolo del prefijo | Nombre resultante del prefijo + bit | Símbolo del múltiplo del bit | Factor y valor en el ISO/IEC 80000-13 |
| Valor de referencia | | bit | bit | 2$^0$ = 1 |
| kibi | Ki | kibibit | Kibit | 2$^{10}$ = 1 024 |
| mebi | Mi | mebibit | Mibit | 2$^{20}$ = 1 048 576 |
| gibi | Gi | gibibit | Gibit | 2$^{30}$ = 1 073 741 824 |
| tebi | Ti | tebibit | Tibit | 2$^{40}$ = 1 099 511 627 776 |
| pebi | Pi | pebibit | Pibit | 2$^{50}$ = 1 125 899 906 842 624 |
| exbi | Ei | exbibit | Eibit | 2$^{60}$ = 1 152 921 504 606 846 976 |
| zebi | Zi | zebibit | Zibit | 2$^{70}$ = 1 180 591 620 717 411 303 424 |
| yobi | Yi | yobibit | Yibit | 2$^{80}$ = 1 208 925 819 614 629 174 706 176 |
* El símbolo del bit en el estándar ISO/IEC 80000-13, es bit y se escribe siempre en minúscula. (Véase: Referencias)
* Los valores son en bit, no existe confusión con byte.
* Para hacer una conversión de bit a byte, dividir la cantidad de bits entre 8. Ejemplo: * 1 048 576 mebibit = 1 048 576 / 8 mebibyte = 131 072 mebibyte.

### Tabla de diferencias

Diferencias entre valores SI y ISO/IEC 80000-13 (valores en bytes) :
| Prefijo del SI | Símbolo del SI | Base con potencia y valor: ISO/IEC 80000-13 | Base con potencia y valor: SI | Pronunciación | Diferencia | Base con potencia y valor: Hexadecimal |
| Valor de referencia | | 2$^0$ = 1 | 10$^0$ = 1 | un(o) | 0 % | 16$^0$ |
| Kilo | k | 2$^{10}$ = 1 024 | 10$^3$ = 1 000 | mil | 2,4 % | 16$^{2,5}$ |
| Mega | M | 2$^{20}$ = 1 048 576 | 10$^6$ = 1 000 000 | millón | 4,85 % | 16$^5$ |
| Giga | G | 2$^{30}$ = 1 073 741 824 | 10$^9$ = 1 000 000 000 | mil millones | 7,37 % | 16$^{7,5}$ |
| Tera | T | 2$^{40}$ = 1 099 511 627 776 | 10$^{12}$ = 1 000 000 000 000 | billón | 9,95 % | 16$^{10}$ |
| Peta | P | 2$^{50}$ = 1 125 899 906 842 624 | 10$^{15}$ = 1 000 000 000 000 000 | mil billones | 12,58 % | 16$^{12,5}$ |
| Exa | E | 2$^{60}$ = 1 152 921 504 606 846 976 | 10$^{18}$ = 1 000 000 000 000 000 000 | trillón | 15,29 % | 16$^{15}$ |
| Zetta | Z | 2$^{70}$ = 1 180 591 620 717 411 303 424 | 10$^{21}$ = 1 000 000 000 000 000 000 000 | mil trillones | 18,05 % | 16$^{17,5}$ |
| Yotta | Y | 2$^{80}$ = 1 208 925 819 614 629 174 706 176 | 10$^{24}$ = 1 000 000 000 000 000 000 000 000 | cuatrillón | 20,89 % | 16$^{20}$ |