Byte

unidad básica de almacenamiento de información en computación y telecomunicaciones
(Redirigido desde «Octeto»)

Un byte[1][2] u octeto[3] (B) es la unidad de información de base utilizada en computación y en telecomunicaciones, y está compuesta por un conjunto ordenado de ocho bits.[4][5][6][7][8]

Byte / octeto
Estándar ISO/IEC 80000-13
Magnitud Múltiplos del bit
Símbolo B
Nombrada en honor de IEC
Equivalencias
bit 1 B = 8 bits

La unidad byte no tiene símbolo establecido internacionalmente, aunque en países anglosajones es frecuente representarlo como B, mientras que en los países francófonos con frecuencia se utiliza o (de octet).[9]

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

Un byte es una unidad de información formada por una secuencia de bits adyacentes. El diccionario de la Real Academia Española señala que byte es sinónimo de octeto (una unidad de información de ocho bits); sin embargo, el tamaño del byte depende del código de caracteres en el que ha sido definido. Byte proviene de bite (en inglés: ‘mordisco’), como la cantidad más pequeña de datos que una computadora u ordenador podía «morder» a la vez. El cambio de letra no solo redujo la posibilidad de confundirlo con bit, sino que también era consistente con la afición de los primeros científicos informáticos en crear palabras y cambiar letras.[10]​ Sin embargo, en los años 1960, en el Departamento de Educación de IBM del Reino Unido se enseñaba que un bit era un Binary digIT y un byte era un BinarY TuplE. Un byte también se conocía como «un byte de 8 bits», reforzando la noción de que era una tupla de n bits y que se permitían otros tamaños.

  1. Es una secuencia contigua de bits en un flujo de datos serie, como en comunicaciones por módem o satélite, o desde un cabezal de disco duro, y es la unidad de datos más pequeña con significado. Estos bytes pueden incluir bits de inicio, parada o paridad, y según los casos, podrían contener de 7 a 12 bits, para así contemplar todas las posibilidades del código ASCII de 7 bits, o de extensiones de dicho código.
  2. Es un tipo de datos o un sinónimo en ciertos lenguajes de programación. En el lenguaje C por ejemplo, se define byte como la "unidad de datos de almacenamiento direccionable lo suficientemente grande como para albergar cualquier miembro del juego de caracteres básico del entorno de ejecución" (cláusula 3.6 del estándar C). En C, el tipo de datos unsigned char es tal que al menos debe ser capaz de representar 256 valores distintos (cláusula 5.2.4.2.1). La primitiva de Java byte está siempre definida con 8 bits siendo un tipo de datos con signo, tomando valores entre –128 y 127.

Comparativa editar

De una forma aproximada, las equivalencias entre bytes y objetos reales son:

Número de bytes Múltiplo Equivalencia aproximada
1 = 100   1 B Una letra.
10 = 101   10 B Una o dos palabras.
100 = 102   100 B Una o dos frases.
1000 = 103   1 kB Una historia muy corta.
10 000 = 104   10 kB Una página de enciclopedia, tal vez con un dibujo simple.[nota 1]
100 000 = 105   100 kB Una fotografía de resolución mediana.
1 000 000 = 106   1 MB Una novela.
10 000 000 = 107   10 MB Dos copias de la obra completa de William Shakespeare.
100 000 000 = 108   100 MB Un estante de un metro de libros.
1 000 000 000 = 109   1 GB Una furgoneta llena de páginas con texto.
1 000 000 000 000 = 1012 1 TB Todas las páginas de texto elaboradas de 50 000 árboles.
10 000 000 000 000 = 1013 10 TB La colección impresa de la biblioteca del congreso de los EE. UU.
1 000 000 000 000 000 = 1015 1 PB Los datos que maneja Google cada hora.
1 000 000 000 000 000 000 = 1018 1 EB El peso de todos los datos en Internet a finales de 2001.

Historia editar

Werner Buchholz editar

El vocablo byte fue acuñado por Werner Buchholz en 1957 durante las primeras fases de diseño del IBM 7030 Stretch. Originalmente fue definido en instrucciones de 4 bits, permitiendo desde uno hasta dieciséis bits en un byte (el diseño de producción redujo este hasta campos de 3 bits, permitiendo desde uno a ocho bits en un byte). Los equipos típicos de entrada y salida de este período utilizaban unidades de seis bits, pero tras la necesidad de agregar letras minúsculas, así como una mayor cantidad de símbolos y signos de puntuación, se debieron idear otros modelos con mayor cantidad de bits.[11]​ Un tamaño fijo de byte de 8 bits se adoptó posteriormente y se promulgó como un estándar por el IBM S/360.[12]

Visión detallada editar

Controversias editar

Originalmente el byte fue elegido para ser un submúltiplo del tamaño de palabra de un ordenador, desde cinco a doce bits. La popularidad de la arquitectura IBM S/360 que empezó en los años 1960 y la explosión de las microcomputadoras basadas en microprocesadores de 8 bits en los años 1980 ha hecho obsoleta la utilización de otra cantidad que no sean 8 bits.[13]

Los bytes de 8 bits se integran firmemente en estándares comunes como Ethernet y HTML.

Sin embargo, en la historia otras computadoras han tenido bytes cuyo valor no era de 8 bits, por ejemplo:

  • La serie CDC 6000 de mainframes científicas dividió sus palabras de 60 bits de punto flotante en 10 bytes de seis bits, estos bytes convenientemente colocados forman los datos Hollerith de las tarjetas perforadas, típicamente el alfabeto de mayúsculas y los dígitos decimales, el CDC también se refería a cantidades de 12 bits como bytes, cada una albergando dos caracteres de 6 bits, debido a la arquitectura de E/S de 12 bits de la máquina.
  • El PDP-10 utilizaba instrucciones de ensamblado LDB y DPB para extraer o componer bytes del tamaño arbitrario (entre 1 bit y 36 bits) de sus palabras de 36 bits, estas operaciones sobreviven hoy en el Common Lisp.[14]
  • Los ordenadores del UNIVAC 1100/2200 series (ahora Unisys) direccionaban los campos de datos de 6 bits y en modo ASCII de 9 bits modes con su palabra de 36 bits.

Bit editar

El IEEE 1541 especifica «b» (minúscula) como el símbolo para bit. Sin embargo, la IEC 60027 y el MIXF especifican «bit» (por ejemplo Mbit para megabit), teniendo la máxima desambiguación posible de byte.

Octeto editar

El vocablo octeto (octet en francés, derivado del latín octo y del griego ὀκτω oktō, que significa 'ocho') se utiliza ampliamente como un sinónimo preciso donde la ambigüedad es indeseable (por ejemplo, en definiciones de protocolos). Los bytes de 8 bits a menudo se llaman octetos en contextos formales como los estándares industriales, así como en redes informáticas y telecomunicaciones para evitar confusiones sobre el número de bits implicados.

Octeto es también la palabra utilizada para la cantidad de ocho bits en muchas lenguas diferentes del inglés. Los países francófonos utilizan una o minúscula para octeto: es posible referirse a estas unidades indiferentemente como ko, Mo, o kB, MB. Esto no se permite en el SI por el riesgo de confusión con el cero, aunque esa es la forma empleada en la versión francesa del estándar ISO/IEC 80000-13:2008.

Múltiplos del byte editar

Los prefijos empleados para los múltiplos del byte normalmente son los mismos del SI, también se utilizan los prefijos binarios, pero existen diferencias entre ellos, ya que según el tipo de prefijo utilizado los bytes resultantes tienen valores diferentes.

Esto se debe a que los prefijos del SI se basan en base 10 (sistema decimal), y los prefijos binarios se basan en base 2 (sistema binario), por ejemplo:

Múltiplos utilizando los prefijos del Sistema Internacional editar

Prefijo Símbolo del prefijo Prefijo métrico Símbolo Factor y valor en el SI
Valor de referencia byte B 100 = 1
kilo- k kilobyte kB 103 = 1 000
mega- M megabyte MB 106 = 1 000 000
giga- G gigabyte GB 109 = 1 000 000 000
tera- T terabyte TB 1012 = 1 000 000 000 000
peta- P petabyte PB 1015 = 1 000 000 000 000 000
Exa- E exabyte EB 1018 = 1 000 000 000 000 000 000
zetta- Z zettabyte ZB 1021 = 1 000 000 000 000 000 000 000
yotta- Y yottabyte YB 1024 = 1 000 000 000 000 000 000 000 000
ronna- R ronnabyte RB 1027 = 1 000 000 000 000 000 000 000 000 000
quetta- Q quettabyte QB 1030 = 1 000 000 000 000 000 000 000 000 000 000

Múltiplos utilizando los prefijos ISO/IEC 80000-13 editar

Actualmente los prefijos binarios al igual que el byte forman parte de la norma ISO/IEC 80000-13.[1]

Los primeros prefijos desde kibi a exbi fueron definidos por la Comisión Electrotécnica Internacional (IEC) en diciembre de 1998, e incluidos en el IEC 60027-2 (Desde febrero del año 1999), posteriormente en el año 2005 se incluyeron zebi y yobi.[15][16][17]

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 = 1024
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

Oficialmente, el padrón IEC especificaba que los prefijos del SI fueran usados solamente para múltiplos en base 10 (Sistema decimal) y nunca base 2 (Sistema binario).

Otras definiciones editar

La palabra byte también tiene otras definiciones:

  • Una secuencia contigua de bits en una computadora binaria que comprende el subcampo direccionable más pequeño del tamaño de palabra natural del ordenador (esto es, la unidad de datos binarios más pequeña en que la computación es significativa, o se pueden aplicar las cotas de datos naturales).[cita requerida]

Unidades relacionadas editar

Información fraccional y nibbles editar

Los primeros microprocesadores, como el Intel 8008 (el predecesor directo del 8080 y el Intel 8086) podían realizar un número pequeño de operaciones en 4 bits, como la instrucción DAA (ajuste decimal) y el flag "half carry" que eran utilizados para implementar rutinas de aritmética decimal. Estas cantidades de cuatro bits se llamaron nibbles en honor al equivalente de 8 bits bytes.

A la mitad de un byte de ocho bits se llama nibble o un dígito hexadecimal. El nibble a menudo se llama semiocteto en redes o telecomunicaciones y también por algunas organizaciones de estandarización. Además, una cantidad de 2 bits se llama crumb, aunque raramente se utiliza.

La información fraccional normalmente se mide en bits, nibbles, nats o bans, donde las últimas dos se utilizan especialmente en el contexto de la teoría de la información y no se utilizan en otros campos de la computación e investigación.

Véase también editar

Notas editar

  1. Esta página en concreto pesa 19 kB, es decir, 1.9 × 104 B

Referencias editar

  1. a b ISO/IEC. «ISO/IEC Directives, Part 2» (en inglés). Archivado desde el original el 8 de marzo de 2013. 
  2. RAE. «Apéndice 3: Lista de símbolos alfabetizables». Archivado desde el original el 26 de octubre de 2012. 
  3. «octeto» en el DRAE.
  4. Real Academia Española. «byte». Diccionario de la lengua española (23.ª edición). 
  5. Microsoft. «Byte (Estructura) (System)». 
  6. Margaret Rouse. «What is byte? - Definition from WhatIs.com» (en inglés). 
  7. Marshall Brain. «HowStuffWorks "The Base-2 System and the 8-bit Byte"» (en inglés). 
  8. IEC. «IEC 60050 - International Electrotechnical Vocabulary - Details for IEV number 702-05-09» (en inglés). 
  9. «The symbol B for byte is not international», IEC 80000-13:2008, Quantities and units – Part 13: Information science and technology, p. 13.
  10. Werner Buchholz (julio de 1956). «Timeline of the IBM Stretch/Harvest era (1956-1961)». Computer History. Archivado desde el original el 29 de abril de 2016. Consultado el 15 de mayo de 2013. 
  11. «Qué son los bytes y los bits». Archivado desde el original el 5 de noviembre de 2013. Consultado el 5 de noviembre de 2013. 
  12. Bob Bemer. «Origins of the Term BYTE» (en inglés). Archivado desde el original el 23 de junio de 2012. 
  13. «Computer History Museum - Exhibits - Internet History» (en inglés). 
  14. «byte definition». 
  15. E-tech. «IEC e-tech > June 2012 - Anders J. Thor obituary» (en inglés). Archivado desde el original el 2 de julio de 2012. 
  16. E-tech. «etech June 2012» (en inglés). Archivado desde el original el 8 de marzo de 2013. 
  17. physics.nist.gov. «NIST Guide to SI Units - SP811» (en inglés). 

Enlaces externos editar