# Byte

El byte és una unitat d'informació digital que normalment consta de vuit bits. Històricament, el byte era el nombre de bits utilitzat per codificar un sol caràcter de text en un ordinador i per aquest motiu és la unitat de memòria adreçable més petita en moltes arquitectures d'ordinadors. Per desambiguar bytes de mida arbitrària de la definició comuna de 8 bits, documents de protocol de xarxa com el Protocol d'Internet fan referència a un byte de 8 bits com a octet. Aquests bits d'un octet solen comptar amb una numeració del 0 al 7 o del 7 al 0 depenent de l'ordre dels bytes.
Històricament, la mida del byte ha estat dependent del maquinari i no existia cap estàndard definitiu que fixés una mida. S'han utilitzat mides d'1 a 48 bits. El codi de caràcters de sis bits era una implementació que s'utilitzava sovint en els primers sistemes de codificació, i els ordinadors que utilitzaven bytes de sis i nou bits eren habituals a la dècada del 1960. Aquests sistemes sovint tenien paraules de memòria de 12, 18, 24, 30, 36, 48 o 60 bits, corresponents a 2, 3, 4, 5, 6, 8 o 10 bytes de sis bits. En aquesta època, els agrupaments de bits en el flux d'instruccions sovint s'anomenaven síl·labes, abans que el terme byte es convertís en comú.
L'estàndard de facto modern de vuit bits, tal com es documenta a ISO/IEC 2382-1:1993, és una potència de dos que permet els valors codificats en binari de 0 a 255 per a un byte, ja que 2 a la potència de 8 és 256. La norma internacional IEC 80000-13 va codificar aquest significat comú. Molts tipus d'aplicacions utilitzen informació representable en vuit o menys bits i els dissenyadors de processadors solen optimitzar per a aquest ús. La popularitat de les principals arquitectures d'informàtica comercial ha ajudat a l'acceptació omnipresent del byte de 8 bits. Les arquitectures modernes solen utilitzar paraules de 32 o 64 bits, fetes de quatre o vuit bytes, respectivament.
La Comissió Electrotècnica Internacional (IEC) i l'Institut d'Enginyers Elèctrics i Electrònics (IEEE) van designar el símbol d'unitat del byte com a lletra B majúscula. A escala internacional, l'octet unitat, símbol o, defineix explícitament una seqüència de vuit bits, eliminant la potencial ambigüitat del terme "byte".

## Etimolotia i història

Múltiples de bytes :
| Prefix del SI (SI) | Prefix del SI (SI) | Prefix del SI (SI) | Prefix binari (IEC 60027-2) | Prefix binari (IEC 60027-2) | Prefix binari (IEC 60027-2) |
| Nom | Símbol | Múltiple | Nom | Símbol | Múltiple |
| kilobyte | kB | 10$^3$ (o 2$^{10}$) | kibibyte | KiB | 2$^{10}$ |
| megabyte | MB | 10$^6$ (o 2$^{20}$) | mebibyte | MiB | 2$^{20}$ |
| gigabyte | GB | 10$^9$ (o 2$^{30}$) | gibibyte | GiB | 2$^{30}$ |
| terabyte | TB | 10$^{12}$ (o 2$^{40}$) | tebibyte | TiB | 2$^{40}$ |
| petabyte | PB | 10$^{15}$ (o 2$^{50}$) | pebibyte | PiB | 2$^{50}$ |
| exabyte | EB | 10$^{18}$ (o 2$^{60}$) | exbibyte | EiB | 2$^{60}$ |
| zettabyte | ZB | 10$^{21}$ (o 2$^{70}$) | zebibyte | ZiB | 2$^{70}$ |
| yottabyte | YB | 10$^{24}$ (o 2$^{80}$) | yobibyte | YiB | 2$^{80}$ |
Aquest terme és anglès, ve de l'expressió binary term («terme binari»), i s'utilitza en informàtica i telecomunicació. En concret, el terme byte va ser encunyat per Werner Buchholz el juny de 1956, durant la fase inicial de disseny de l'ordinador IBM Stretch, que tenia adreçament a les instruccions de bit i longitud de camp variable (VFL) amb una mida de byte codificada a la instrucció. És una revocació deliberada de bite (mossegada en anglès) per evitar la mutació accidental a bit.
Un altre origen de byte per a referir-se a grups de bits més petits que la mida de les paraules d'un ordinador, i en particular grups de quatre bits, és el de Louis G. Dooley, que va afirmar que havia encunyat el terme mentre treballava amb Jules Schwartz i Dick Beeler en un sistema de defensa aèria anomenat SAGE al Laboratori Lincoln el 1956 o 1957, que va ser desenvolupat conjuntament per Rand, MIT i IBM. Més tard, el llenguatge de Schwartz anomenat JOVIAL va utilitzar realment el terme, però l'autor va recordar vagament que es derivava d'AN/FSQ-31.
Els primers ordinadors utilitzaven una varietat de representacions decimals codificades binàries (BCD) de quatre bits i els codis de sis bits per a patrons gràfics imprimibles comuns a l'exèrcit dels EUA i la Marina. Aquestes representacions incloïen caràcters alfanumèrics i símbols gràfics especials. Aquests conjunts es van ampliar l'any 1963 a set bits de codificació, en el que es va anomenar Codi estàndard nord-americà per a l'intercanvi d'informació (ASCII) i es va fixar com a estàndard de processament d'informació federal, substituint els codis de teleimpressores incompatibles utilitzats per diferents branques del govern i les universitats dels EUA durant la dècada de 1960.. ASCII incloïa la distinció d'alfabets, les majúscules i minúscules, i un conjunt de caràcters de control per facilitar la transmissió del llenguatge escrit, així com les funcions del dispositiu d'impressió, com ara l'avançament de la pàgina i l'alimentació de línia, i el control físic o lògic del flux de dades sobre la transmissió de les dades. Durant la dècada de 1960, mentre que també estava activa en l'estandardització ASCII, IBM va introduir simultàniament a la seva línia de productes de System/360 el codi d'intercanvi decimal codificat binari estès de vuit bits (EBCDIC), una expansió de les representacions de decimal codificat binari de sis bits utilitzades en perforacions de targetes anteriors. La prominència del System/360 va portar a l'adopció omnipresent de la mida d'emmagatzematge de vuit bits, mentre que en detall els esquemes de codificació EBCDIC i ASCII són diferents.
A principis de la dècada del 1960, AT&T va introduir la telefonia digital a les línies troncals de llarga distància. Aquests utilitzaven la codificació de la llei μ de vuit bits. Aquesta gran inversió prometia reduir els costos de transmissió de dades de vuit bits.
Al volum 1 de The Art of Computer Programming (publicat per primera vegada el 1968), Donald Knuth utilitza byte en el seu hipotètic ordinador MIX per indicar una unitat que "conté una quantitat no especificada d'informació... capaç de contenir almenys 64 valors diferents... Com a màxim 100 valors diferents. En un ordinador binari, un byte ha d'estar compost per sis bits". Assenyala que "Des de l'any 1975 aproximadament, la paraula byte ha arribat a significar una seqüència de vuit dígits binaris precisament... Quan parlem de bytes en relació amb MIX, ens limitarem al sentit anterior de la paraula, fent referència als dies en què els bytes encara no estaven estandarditzats".
El desenvolupament de microprocessadors de vuit bits a la dècada de 1970 va popularitzar aquesta mida d'emmagatzematge. Els microprocessadors com l'Intel 8008, el predecessor directe del 8080 i el 8086, utilitzats en els primers ordinadors personals, també podien fer un petit nombre d'operacions sobre els parells de quatre bits en un byte, com ara l'ajust de suma decimal (DAA) instrucció. Una quantitat de quatre bits sovint s'anomena nibble, també nybble, que es representa convenientment per un sol dígit hexadecimal.
El terme octet s'utilitza per especificar sense ambigüitats una mida de vuit bits. S'utilitza àmpliament en les definicions de protocols de comunicació. L'origen exacte del terme no és clar, però es pot trobar a les fonts britàniques, holandeses i alemanyes dels anys 60 i 70, i a tota la documentació dels ordinadors centrals de Philips.

## Representació

Un byte es pot representar de diferents formes:
* Sistema binari: 0000 0000 a 1111 1111, exemple: 01011010
* Sistema octal: 000 a 377, exemple: 132
* Sistema decimal:
** Natural: 0 a 255, exemple: 90
** Enter: -128 a 127
* Sistema hexadecimal: 00 a FF, exemple: 5A
* Caràcter codificat en ASCII: exemple: Z

## Abreviació i prefixos

El símbol del byte és la B (per a diferenciar-lo de la b del bit). Habitualment, es fan servir els prefixos del Sistema Internacional amb una equivalència diferent de l'estàndard, usant múltiples de 1.024 en comptes de múltiples de 1.000. La raó és que es fan servir les potències de 2 com a refència en comptes de les potències de 10:
Exemples del significat dels prefixos al SI i el seu ús habitual a la informàtica :
| Prefix | Símbol | Equivalència al SI | Equivalència binària |
| kilo- | kB | 10$^3$ = 1.000 | 2¹⁰ = 1.024 |
| mega- | MB | 10⁶ = 1.000.000 | 2$^{20}$ = 1.048.576 |
| giga- | GB | 10⁹ = 1.000.000.000 | 2³⁰ = 1.073.741.824 |
Actualment, la utilització d'una o altra equivalència depèn del context en què es faça servir. Habitualment, al camp de les telecomunicacions en general es fan servir els múltiples de 1.000 mentre que en els àmbits més purament informàtics es fan servir els de 1.024. Els dos àmbits s'encavalquen, fet que porta a una certa confusió; com a exemple, per referir-se a la capacitat d'un disc dur, els fabricants fan servir el primer mentre que el programari, com els sistemes operatius, en fan servir el segon.
Per tal de solucionar aquesta confusió la International Electrotechnical Commission va aprovar en 1998 una proposta nova per fer servir uns prefixos alternatius als quals se'ls anomena prefixos binaris. El seu ús encara no està gaire estès però guanya popularitat ràpidament i rep el suport de múltiples cossos d'estandardització.

### Clàssics

| Nom | Símbol | Factor | Equivalència |
| kilobyte | kB | 10$^3$ | 1.000 bytes |
| megabyte | MB | 10⁶ | 1.000.000 bytes |
| gigabyte | GB | 10⁹ | 1.000.000.000 bytes |
| terabyte | TB | 10$^{12}$ | 1.000.000.000.000 bytes |
| petabyte | PB | 10$^{15}$ | 1.000.000.000.000.000 bytes |
| exabyte | EB | 10$^{18}$ | 1.000.000.000.000.000.000 bytes |
| zettabyte | ZB | 10$^{21}$ | 1.000.000.000.000.000.000.000 bytes |
| yottabyte | YB | 10$^{24}$ | 1.000.000.000.000.000.000.000.000 bytes |

### Nova proposta

El nom dels nous prefixos prové de la unió del prefix del SI i la paraula binari. Així, per exemple, mebibyte prové de mega‒ i binari, units en megabinari i després contrets en mebi‒.
| Nom | Símbol | Factor | Equivalència |
| kibibyte | KiB | 2¹⁰ | 1.024 bytes |
| mebibyte | MiB | 2$^{20}$ | 1.048.576 bytes |
| gibibyte | GiB | 2³⁰ | 1.073.741.824 bytes |
| tebibyte | TiB | 2$^{40}$ | 1.099.511.627.776 bytes |
| pebibyte | PiB | 2$^{50}$ | 1.125.899.906.842.624 bytes |
| exbibyte | EiB | 2$^{60}$ | 1.152.921.504.606.846.976 bytes |
| zebibyte | ZiB | 2$^{70}$ | 1.180.591.620.717.411.303.424 bytes |
| yobibyte | YiB | 2$^{80}$ | 1.208.925.819.614.629.174.706.176 bytes |

## Referències

* ↑ Bemer, R. W. «A proposal for a generalized card code for 256 characters» (en anglès). Communications of the ACM, 2, 9, 9-1959, pàg. 19–23. Arxivat de l'original el 2023-08-02. DOI: 10.1145/368424.368435. ISSN: 0001-0782 [Consulta: 1r juny 2024].
* ↑ «Byte». Arxivat de l'original el 2024-06-01. [Consulta: 28 novembre 2018].
* ↑ Postel, J. (September 1981), Internet Protocol DARPA INTERNET PROGRAM PROTOCOL SPECIFICATION, p. 43, RFC 791, doi:10.17487/RFC0791, <https://datatracker.ietf.org/doc/html/rfc791#page-43>. Consulta: 28 agost 2020
* ↑ 3600 Computer System - Reference Manual. St. Paul, Minnesota, US: Control Data Corporation (CDC), 1966-10-11. 60021300. «Byte - A partition of a computer word.» Arxivat 2017-04-05 a Wayback Machine.
* ↑ Rao, Thammavaram R. N.; Fujiwara, Eiji. Error-Control Coding for Computer Systems. 1. Englewood Cliffs, NJ, US: Prentice Hall, 1989 (Prentice Hall Series in Computer Engineering). ISBN 0-13-283953-9.
* ↑ ISO/IEC 2382-1: 1993, Information technology - Vocabulary - Part 1: Fundamental terms, 1993.
* ↑ «Internet History of 1960s # 1964». Computer History Museum, 2017. Arxivat de l'original el 2022-06-24. [Consulta: 17 agost 2022].
* ↑ Jaffer, Aubrey. «Metric-Interchange-Format», 2011. Arxivat de l'original el 2017-04-03. [Consulta: 3 abril 2017].
* ↑ Kozierok, Charles M. «The TCP/IP Guide - Binary Information and Representation: Bits, Bytes, Nibbles, Octets and Characters - Byte versus Octet», 20-09-2005. Arxivat de l'original el 2017-04-03. [Consulta: 3 abril 2017].
* ↑ Buchholz, Werner. «7. The Shift Matrix». A: The Link System. IBM, 1956-06-11, p. 5–6. Stretch Memo No. 39G.
* ↑ Raymond, Eric Steven. «byte definition», 2017. Arxivat de l'original el 2017-04-03. [Consulta: 3 abril 2017].
* ↑ Blaauw, Gerrit Anne; Brooks, Jr., Frederick Phillips; Buchholz, Werner «Processing Data in Bits and Pieces». IRE Transactions on Electronic Computers, 6-1959, pàg. 121.
* 1 2 Stefan L. Ram, Berlin. «Byte» (en alemany), 17-01-2003. [Consulta: 1r juny 2024].
* 1 2 «Origins of the Term "BYTE"», 03-04-2017. Arxivat de l'original el 2017-04-03. [Consulta: 1r juny 2024].
* ↑ «IBM Knowledge Center», 03-07-2020. Arxivat de l'original el 2020-07-03. [Consulta: 1r juny 2024].
* ↑ Byte Magazine Volume 02 Number 02 - Usable Systems, 1977-02.
* 1 2 Knuth, Donald. The Art of Computer Programming: Volume 1: Fundamental Algorithms. 3rd. Boston: Addison-Wesley, 1997, p. 125. ISBN 9780201896831.
* ↑ International Electrotechnical Commission «60027-2:1972/AMD1:1999. Amendment 2 - Letter symbols to be used in electrical technology. Part 2: Telecommunications and electronics». Genève: IEC, 1999.
* ↑ «Definitions of the SI units: The binary prefixes». Arxivat de l'original el 2007-08-08. [Consulta: 22 maig 2006]. (anglès)

## Vegeu també

* Bit
* Paraula
* Sistema de numeració