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 | |
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]
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 |
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.
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.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 | La cantidad de todos los datos en Internet a finales de 2001. |
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]
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:
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.
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.
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:
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 |
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).
La palabra byte también tiene otras definiciones:
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.