Byte

Da Wikipedia, l'enciclopedia libera.
Multipli del byte
Prefissi SI   Prefissi binari
Nome Simbolo Multiplo Nome Simbolo Multiplo
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

Un byte, il cui nome deriva dalla parola inglese bite (boccone, morso)[1], (coniato anche per assonanza col termine "bit" ma rinominato per evitare confusioni accidentali di pronuncia con questo)[2], è una sequenza di bit, il cui numero dipende dall'implementazione fisica della macchina sottostante.

Storicamente, il numero di bit utilizzati per codificare un "singolo carattere di testo" in un computer[2][3], ed è perciò divenuto l'elemento base dell'indirizzabilità nelle architetture dei computer e come unità di misura delle capacità di memoria.

Dal 1964 il byte è tipicamente formato da 8 bit[4] ed è pertanto in grado di assumere 28 = 256 possibili valori (da 0 a 255). Gli informatici di lingua francese utilizzano il termine octet (ovvero ottetto), sebbene il termine venga utilizzato in inglese per denotare una generica sequenza di otto bit.[5]

Storia[modifica | modifica sorgente]

Il termine byte è stato coniato da Werner Buchholz nel luglio 1956, all'inizio del progetto del computer IBM Stretch[6][7].

Agli inizi degli anni 1960 esistevano due tipi di computer: scientifici e commerciali (business). Nei computer scientifici venivano usati per la rappresentazione dei numeri decimali, 4 bit BCD (ovvero numeri decimali codificati in binario, es. 5 = 0101, 9 = 1001), mentre per i computer commerciali venivano usati 6 bit (64 configurazioni) per rappresentare il set grafico stampabile, che comprendeva 26 caratteri alfabetici (solo maiuscole), 10 numeri, e da 11 a 25 simboli speciali (+ - * / ( > ecc.). Il set grafico stampabile per i computer scientifici era ottenuto usando due cifre consecutive (4+4 bit) e sfruttando le configurazioni non utilizzate per la codifica decimale (con 4 bit si hanno 16 configurazioni, da 0 a 9 usate per i numeri, le altre, da 10 a 15 nominate da A a F usate per i segni "+" e "-" e per distinguere caratteri da numeri). In seguito, per includere i caratteri di controllo e permettere ai dispositivi di comunicare fra loro, memorizzare, trasferire caratteri per la scrittura dei testi comprendendo i caratteri minuscoli, è stato introdotto il codice ASCII a 7 bit (128 configurazioni). Successivamente, poiché 8 bit permettevano di contenere convenientemente due cifre decimali di 4 bit ciascuna (packed decimal), è stato adottato e promulgato come codice di rappresentazione standard dall'IBM nei computer System/360, il codice EBCDIC a 8 bit, cioè l'attuale byte.

Un byte è una quantità di informazione elementare per molti scopi: servono ad esempio circa 200 livelli di grigio per passare dal bianco al nero perché l'occhio umano pensi di vedere una sfumatura continua, servono circa 200 caratteri diversi (lettere accentate comprese) per scrivere un qualsiasi testo di una lingua occidentale, servono circa 200 livelli di intensità per riprodurre un suono abbastanza fedele.

Il simbolo utilizzato per il byte come unità di misura della quantità di informazione è B (identico al simbolo del bel); la lettera maiuscola sarebbe riservata alle sole unità di misura tratte dai cognomi degli ideatori, ma la Commissione Elettrotecnica Internazionale (IEC) ha deciso di fare un'eccezione dato che b è generalmente usato per indicare il bit (il cui simbolo standard sarebbe bit per esteso).

Per comodità di calcolo i multipli del byte vengono generalmente arrotondati a potenze di 2 (benché questo sia formalmente sbagliato), invece che di 10; tale ambiguità ha portato l'IEC a definire nuovi prefissi per multipli binari; tali valori non sono comunque entrati nell'uso comune.

Questa ambiguità viene sfruttata a fini commerciali dai produttori di hard disk, utilizzando i corretti, ma poco in uso, multipli decimali, in modo tale da far figurare quantità maggiori: ad esempio in un disco rigido 80 GB di capacità equivalgono a circa 74,5 GiB.

Nella tabella seguente sono elencati i prefissi ufficiali IEC, i prefissi decimali spesso usati e la differenza percentuale tra i due.

Quantità   Fattore Nome corretto Sigla Altri nomi in uso Sigla Errore
    2−3 B bit b      
    2−1 B nibble        
1 B = 20 B byte B byte B 0
1 024 B = 210 B kibibyte KiB kilobyte kB +2,4%
1 024 KiB = 220 B mebibyte MiB megabyte MB +4,9%
1 024 MiB = 230 B gibibyte GiB gigabyte GB +7,4%
1 024 GiB = 240 B tebibyte TiB terabyte TB +10,0%
1 024 TiB = 250 B pebibyte PiB petabyte PB +12,6%
1 024 PiB = 260 B exbibyte EiB exabyte EB +15,3%

Word e nibble[modifica | modifica sorgente]

  • 4 bit = metà di un byte, formano un nibble.
  • 2 byte = 16 bit, sono chiamati anche word.
  • 4 byte = 32 bit = 2 word, sono chiamati anche double word.
  • 8 byte = 64 bit = 2 double word, sono chiamati anche quad word.

È importante sottolineare che i valori di word, double word e quad word qui riportati sono indicativi e fanno riferimento ad una architettura di computer in cui una word è uguale a 2 byte.

I valori dei multipli del Byte rispetto ad esso[modifica | modifica sorgente]

bit (b): 1 bit = ⅛ Byte

Byte (B): Reali 8 bit (commercialmente 10 bit)

Kibibit (Kib): 1 024 bit , 128 Byte (1 024bit / 8)

KibiByte (KiB): 1 024 Byte , 8 192 bit (1 024 Byte × 8)

Mebibit (Mib): 1 024 Kib, 1 048 576 bit

MebiByte (MiB): 1 024 KiB, 1 048 576 B

GibiByte (GiB): 1 024 MiB, 1 048 576 KiB, 1 073 741 824 B

TebiByte (TiB): 1 024 GiB, 1 048 576 MiB, 1 073 741 824 KiB, 1 099 511 627 776 B

PebiByte (PiB): 1 024 TiB, 1 048 576 GiB, 1 073 741 824 MiB, 1 099 511 627 776 KiB, 1 125 899 906 842 624 B

Consideriamo il byte l'unità di base: 1 024 volte un byte equivale ad 1 kibibyte. 1 048 576 volte un byte equivale ad 1 mebibyte, espresso anche in 1 024 kibibyte. Lo stesso vale per i gibibyte, dove a 1 024 corrispondono i mebibyte, a 1 048 576 i kibibyte, mentre i byte corrispondenti sono 1 073 741 824. Anche per i tebibyte è lo stesso principio: 1 024 sono i gibibyte, i mebibyte sono 1 048 576, i kibibyte sono 1 073 741 824 ed in byte sono invece 1 099 511 627 776.

1 b = ⅛ byte — (binary digit)

1 B = 1 byte — (byte)

1 KiB = 1 024 B — (kibibyte)

1 MiB = 1 048 576 B — (mebibyte)

1 GiB = 1 073 741 824 B — (gibibyte)

1 TiB = 1 099 511 627 776 B — (tebibyte)

1 PiB = 1 125 899 906 842 624 B — (pebibyte)

1 EiB = 1 152 921 504 606 846 976 B — (exbibyte)

1 ZiB = 1 180 591 620 717 411 303 424 B — (zebibyte)

1 YiB = 1 208 925 819 614 629 174 706 176 B — (yobibyte)

Note[modifica | modifica sorgente]

  1. ^ (EN) byte dal Jargon File
  2. ^ a b R.W. Bemer and W. Buchholz, 6, Character Set in Werner Buchholz (a cura di), Planning a Computer System - Project Stretch, 1962.
  3. ^ R.W. Bemer, A proposal for a generalized card code of 256 characters, Commun. ACM 2 (9), pp19–23, 1959.
  4. ^ (EN) Internet History - 1964
  5. ^ (EN) Binary Information and Representation: Bits, Bytes, Nibbles, Octets and Characters
  6. ^ Werner Buchholz, TIMELINE OF THE IBM STRETCH/HARVEST ERA (1956–1961), computerhistory.org, luglio 1956.
  7. ^ byte definition.

Bibliografia[modifica | modifica sorgente]

Voci correlate[modifica | modifica sorgente]

Altri progetti[modifica | modifica sorgente]