Prefijo binario

prefijo de unidad para múltiplos de unidades en el procesamiento de datos, la transmisión de datos y la información digital, en particular el bit y el byte, para indicar la multiplicación por una potencia de 2

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.[1]

Múltiplos de bytes
Sistema Internacional (decimal) ISO/IEC 80000-13 (binario)
Múltiplo (símbolo) SI Múltiplo (símbolo) ISO/IEC
kilobyte (kB) 103 kibibyte (KiB) 210
megabyte (MB) 106 mebibyte (MiB) 220
gigabyte (GB) 109 gibibyte (GiB) 230
terabyte (TB) 1012 tebibyte (TiB) 240
petabyte (PB) 1015 pebibyte (PiB) 250
exabyte (EB) 1018 exbibyte (EiB) 260
zettabyte (ZB) 1021 zebibyte (ZiB) 270
yottabyte (YB) 1024 yobibyte (YiB) 280
Véase también: nibble • byte • sistema octal

Visión general

editar

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. En la época de las computadoras de 32 KB de memoria ROM esta diferencia era relativamente pequeña, ya que la diferencia entre 210 y 103 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)

Linux/GNU

editar

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

Historia

editar

IEC 60027-2

editar

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:[4][5][6][7]

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

editar

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[8]​ 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

editar

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

editar

IEEE 1541-2002

editar

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

editar

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

editar

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

editar

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

editar

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.

 

Cambiando el exponente x por potencias del SI. Por ejemplo giga (G)= 109, es decir x es igual a 9.

Cambiando el exponente y por potencias del ISO/IEC 80000-13. Por ejemplo gibi (Gi) = 230, 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
editar

Un disco duro de 500 gigabytes (GB).

 

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:
  1. La capacidad expresada con prefijo decimal resulta en una cifra mayor que si se expresara con prefijo binario.
  2. 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

editar

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 (106) bytes. Ni tampoco utilizaban (1024 x 1024) 1 048 576 (220) 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

editar

Tablas ISO/IEC 80000-13

editar
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 20 = 1
kibi Ki kibibyte KiB 210 = 1 024
mebi Mi mebibyte MiB 220 = 1 048 576
gibi Gi gibibyte GiB 230 = 1 073 741 824
tebi Ti tebibyte TiB 240 = 1 099 511 627 776
pebi Pi pebibyte PiB 250 = 1 125 899 906 842 624
exbi Ei exbibyte EiB 260 = 1 152 921 504 606 846 976
zebi Zi zebibyte ZiB 270 = 1 180 591 620 717 411 303 424
yobi Yi yobibyte YiB 280 = 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 20 = 1
kibi Ki kibibit Kibit 210 = 1 024
mebi Mi mebibit Mibit 220 = 1 048 576
gibi Gi gibibit Gibit 230 = 1 073 741 824
tebi Ti tebibit Tibit 240 = 1 099 511 627 776
pebi Pi pebibit Pibit 250 = 1 125 899 906 842 624
exbi Ei exbibit Eibit 260 = 1 152 921 504 606 846 976
zebi Zi zebibit Zibit 270 = 1 180 591 620 717 411 303 424
yobi Yi yobibit Yibit 280 = 1 208 925 819 614 629 174 706 176
  1. 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)
  2. Los valores son en bit, no existe confusión con byte.
  3. 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

editar
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 20 = 1 100 = 1 un(o)
0 %
160
Kilo
k
210 = 1 024 103 = 1 000 mil
2,4 %
162,5
Mega
M
220 = 1 048 576 106 = 1 000 000 millón
4,85 %
165
Giga
G
230 = 1 073 741 824 109 = 1 000 000 000 mil millones
7,37 %
167,5
Tera
T
240 = 1 099 511 627 776 1012 = 1 000 000 000 000 billón
9,95 %
1610
Peta
P
250 = 1 125 899 906 842 624 1015 = 1 000 000 000 000 000 mil billones
12,58 %
1612,5
Exa
E
260 = 1 152 921 504 606 846 976 1018 = 1 000 000 000 000 000 000 trillón
15,29 %
1615
Zetta
Z
270 = 1 180 591 620 717 411 303 424 1021 = 1 000 000 000 000 000 000 000 mil trillones
18,05 %
1617,5
Yotta
Y
280 = 1 208 925 819 614 629 174 706 176 1024 = 1 000 000 000 000 000 000 000 000 cuatrillón
20,89 %
1620

Véase también

editar

Referencias

editar
  1. ISO/IEC. «ISO/IEC Directives, Part 2» (en inglés). Archivado desde el original el 8 de marzo de 2013. 
  2. «Linux Programmer's Manual». Archivado desde el original el 2 de septiembre de 20055. «When the Linux kernel boots and says hda: 120064896 sectors (613 MB) the MB are megabytes and the KiB are kibibytes.» 
  3. «ESR post on LKML». Lwn.net. Consultado el fecha=. 
  4. E-tech. «IEC e-tech > June 2012 - Anders J. Thor obituary» (en inglés). Archivado desde el original el 2 de julio de 2011. 
  5. E-tech. «etech June 2012» (en inglés). Archivado desde el original el 8 de marzo de 2013. 
  6. physics.nist.gov. «NIST Guide to SI Units - SP811» (en inglés). 
  7. Letter symbols to be used in electrical technology - Part 2: Telecommunications and electronics (IEC 60027-2: Símbolos de letras para usarse en tecnología eléctrica - Parte 2: Telecomunicaciones y electrónica, en inglés);
  8. Símbolos de letras para usarse en tecnología eléctrica - Parte 2: Telecomunicaciones y electrónica (en inglés, IEC 60027-2:2005, third edition, Letter symbols to be used in electrical technology – Part 2: Telecommunications and electronics

Enlaces externos

editar