Byte: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
nota disambigua
Collegamenti esterni: Aggiunto il template "FOLDOC"
Etichette: Modifica da mobile Modifica da applicazione mobile Modifica da applicazione Android App section source
 
(47 versioni intermedie di 19 utenti non mostrate)
Riga 1:
{{nd|il film del 1997 con [[Will Smith]] e [[Tommy Lee Jones]]|Men in Black (film 1997)|MiB}}
{{nd|il produttore di hardware per computer|Gigabyte Technology|Gigabyte}}
{{nota disambigua}}
[[File:SanDisk SD Cards 128MB and 32GB.jpg|thumb|Due [[Secure Digital|schede SD]] con diverse capacità di archiviazione espresse in multipli del byte]]
{{Quantità di byte}}
 
Un '''byte''' (pron. {{IPA|/ˈbait/}}<ref>{{Dipi|byte}}</ref>) è una sequenza di [[bit]], il cui numero dipende dall'[[implementazione]] fisica della macchina sottostante. Il termine è derivato dall'[[lingua inglese|inglese]] ''bite''<ref>{{en}} [http://catb.org/~esr/jargon/html/B/byte.html byte] dal [[Jargon File]]</ref> (boccone, morso), scelto per assonanza con ''bit'', ma variato per evitare confusioni di pronuncia<ref name=Bemer1962>
Il '''byte''' (pron. {{IPA|/ˈbait/}}<ref>{{Dipi|byte}}</ref>) è un'unità di misura della [[quantità di informazione]] derivata dal [[bit]].<br>
Il termine è derivato dall'[[lingua inglese|inglese]] ''bite''<ref>{{en}} [http://catb.org/~esr/jargon/html/B/byte.html byte] dal [[Jargon File]]</ref> (boccone, morso), scelto per assonanza con ''bit'', ma variato per evitare confusioni di pronuncia.<ref name=Bemer1962>
{{Cita web
|url=http://archive.computerhistory.org/resources/text/IBM/Stretch/pdfs/Buchholz_102636426.pdf
|titolo=Planning a Computer System - Project Stretch
|autore-capitolo=R.W. Bemer and W. Buchholz
|curatore=Werner Buchholz
|anno=1962
Line 14 ⟶ 18:
|urlmorto=sì
}}
</ref>.
 
Il simbolo utilizzato per il byte come [[unità di misura]] della quantità di informazione è '''B''' (identico al simbolo del [[bel (unità di misura)|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 (informatica)|bit]] (il cui simbolo standard sarebbe ''bit'' per esteso).
Il byte è divenuto l'elemento base dell'indirizzabilità nelle [[architettura dei calcolatori|architetture dei computer]] e l'[[unità di misura]] delle capacità di [[memoria (informatica)|memoria]]. Storicamente un diverso numero di bit è stato utilizzato per codificare un "singolo [[carattere (informatica)|carattere]] alfanumerico" in un [[computer]]<ref name=Bemer1962/><ref>R.W. Bemer, ''A proposal for a generalized card code of 256 characters'', Commun. ACM 2 (9), pp19–23, 1959.</ref>. Dal [[1964]] il byte si definisce come formato da 8 bit<ref>{{en}} [http://www.computerhistory.org/internet_history/#1964 Internet History - 1964]</ref> ed è pertanto in grado di assumere 2<sup>8</sup>&nbsp;=&nbsp;256 possibili valori (da 0 a 255).
 
Nel tempo il byte è divenuto l'elemento base dell'[[Indirizzo di memoria|indirizzabilità]] nelle [[architettura dei calcolatori]] e l'[[unità di misura]] delle capacità di [[memoria (informatica)|memoria]]. Storicamente sistemi diversi tendevano ad utilizzare un diverso numero di bit per codificare un "singolo [[carattere (informatica)|carattere]] alfanumerico"<ref name=Bemer1962/><ref>R.W. Bemer, ''A proposal for a generalized card code of 256 characters'', Commun. ACM 2 (9), pp19–23, 1959.</ref> e per questo non esisteva una definizione univoca del byte.
Gli [[informatica|informatici]] di [[lingua francese]] utilizzano il termine ''octet'' (ovvero ottetto), sebbene il termine venga utilizzato in [[lingua inglese|inglese]] per denotare una generica sequenza di otto bit.<ref>{{en}} [http://www.tcpipguide.com/free/t_BinaryInformationandRepresentationBitsBytesNibbles-3.htm Binary Information and Representation: Bits, Bytes, Nibbles, Octets and Characters]</ref>
Dal 1964 il byte si definisce come formato da 8 bit<ref>{{en}} [http://www.computerhistory.org/internet_history/#1964 Internet History - 1964]</ref> ed è pertanto in grado di assumere 2<sup>8</sup>&nbsp;=&nbsp;256 possibili valori.
 
== Storia ==
{{F|Informatica|luglio 2023}}
 
Il termine ''byte'' è stato coniato da [[Werner Buchholz]] nel luglio [[1956]], all'inizio del progetto del computer [[IBM 7030|IBM Stretch]].<ref>{{Cita web|url=http://archive.computerhistory.org/resources/text/IBM/Stretch/102636400.txt|titolo=TIMELINE OF THE IBM STRETCH/HARVEST ERA (1956–1961)|editore=computerhistory.org|data=luglio 1956|autore=Werner Buchholz|accesso=19 gennaio 2011|urlarchivio=https://web.archive.org/web/20160429212717/http://archive.computerhistory.org/resources/text/IBM/Stretch/102636400.txt|dataarchivio=29 aprile 2016|urlmorto=sì}}</ref><ref>{{Cita web|url=http://catb.org/~esr/jargon/html/B/byte.html|titolo=byte definition}}</ref> Secondo molte altre fonti, seguite anche dai dizionari, il termine byte è una sigla fatta derivare da BinarY octetTE", ovvero "ottetto binario".
 
Agli inizi degli anni '60 esistevano due tipi di computer: ''scientifici'' e ''commerciali'' (business). Nei computer scientifici venivano usati, per la rappresentazione dei numeri decimali, 4 bit [[binary-coded decimal|BCD]] (ovvero numeri decimali codificati in binario, es. 5 = 0101, 9 = 1001), mentre nei 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]]''), venne adottato e promulgato dall'IBM il codice [[EBCDIC]] a 8 bit, cioè l'attuale ''byte'', come codice di rappresentazione standard nei computer [[System/360]].
 
=== Ambiguità nell'uso dei prefissi moltiplicativi ===
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.
{{vedi anche|IEEE 1541}}
{{Quantità di byte}}
[[File:Binaryvdecimal.svg|thumb|upright=0.8|La differenza percentuale tra le interpretazioni decimali e binarie dei multipli del Byte aumenta proporzionalmente al valore rappresentato. Questa differenza è fonte di possibili errori di calcolo soggetti ad amplificazione secondo la [[teoria degli errori]].]]
 
Fino al 1995 erano diffuse due interpretazioni concorrenti dei prefissi moltiplicativi del Byte. In una versione essi erano basati sulle potenze di dieci, nell'altra sulle potenze di due. Queste due interpretazioni rispecchiavano esattamente quelle che ora sono rispettivamente le definizioni dei [[Prefissi_del_Sistema_internazionale_di_unità_di_misura|prefissi SI]] e dei [[IEEE 1541|prefissi binari]] per le unità di misura.
Il simbolo utilizzato per il byte come [[unità di misura]] della quantità di informazione è '''B''' (identico al simbolo del [[bel (unità di misura)|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 (informatica)|bit]] (il cui simbolo standard sarebbe ''bit'' per esteso).
 
Questa ambiguità nasce in un'era in cui grandezze dell'ordine del [[Mega]] erano considerate enormi nell'immaginario comune<ref>
Per comodità di calcolo, i multipli del byte vengono generalmente arrotondati a [[Notazione scientifica|potenze di dieci]] invece che di 2 (basandosi sull'approssimazione 2<sup>10</sup>&nbsp;=&nbsp;1024 <math> \approx </math> 1000), benché questo sia formalmente sbagliato; tale ambiguità ha portato l'IEC a definire nuovi [[prefissi per multipli binari]]; tuttavia, tali prefissi non sono tuttora entrati nell'uso comune.
{{Cita web
|url=https://www.ibm.com/ibm/history/exhibits/storage/storage_350.html
|titolo=IBM Archives: IBM 350 disk storage unit
|data=2003-01-23
|lingua=en
|accesso=2023-09-21
|citazione=The 350 Disk Storage Unit consisted of the magnetic disk memory unit with its access mechanism, the electronic and pneumatic controls for the access mechanism, and a small air compressor. Assembled with covers, the 350 was 60 inches long, 68 inches high and 29 inches deep. It was configured with 50 magnetic disks containing 50,000 sectors, each of which held 100 alphanumeric characters, for a capacity of 5 million characters.
}}
</ref>
mentre quelle nell'ordine del [[Chilo (prefisso)|Kilo]] erano decisamente più approcciabili e popolari.<ref>
{{cita web
|url=https://www.computerworld.com/article/2534312/the--640k--quote-won-t-go-away----but-did-gates-really-say-it-.html
|titolo=The '640K' quote won't go away -- but did Gates really say it?
|autore=Eric Lai
|editore=Computerworld
|lingua=en
|citazione=Here's the legend: at a computer trade show in 1981, Bill Gates supposedly uttered this statement, in defense of the just-introduced IBM PC's 640KB usable RAM limit: "640K ought to be enough for anybody."
}}
</ref>
Tenendo conto che la differenza relativa tra quantità espresse usando le due convenzioni è di appena il 2.4%, era considerata pratica accettabile in quegli anni arrotondare, per comodità di calcolo, grandezze multiple di 2<sup>10</sup> tipiche dell'informatica a multipli di 10<sup>3</sup> decisamente più intuitivi da utilizzare per gli esseri umani.
Sebbene per grandezze nell'ordine del Kilo questo risultasse in [[tolleranza (ingegneria)|errori di calcolo accettabili]], certamente la stessa cosa non è affermabile per grandezze di taglia superiore.<ref>
{{cita web
|url = http://www.iec.ch/zone/si/si_bytes.htm
|titolo = When is a kilobyte a kibibyte?
And an MB an MiB?
|urlarchivio = https://web.archive.org/web/20100529022053/http://www.iec.ch/zone/si/si_bytes.htm
}}
</ref>
 
Questa doppia nomenclatura viene sfruttata a fini commerciali dai produttori di dispositivi di archiviazione, utilizzando i corretti, ma ambigui, multipli decimali, in modo tale da far figurare quantità maggiori di archiviazione; ad esempio, in un [[hard disk|disco rigido]], {{M|80|ul=GB}} di capacità dichiarata equivalgono a circa {{M|74,5|ul=GiB}} di capacità effettiva.
{{clear}}
 
{|
! |Quantità ||&nbsp;|| Fattore ||Nome corretto||Sigla ||Altri nomi in uso||Sigla || Errore
|-
|align=right| &nbsp;||&nbsp;||align=right|2<sup>−3</sup> B||[[Bit (informatica)|bit]] ||b ||&nbsp; ||&nbsp;|| &nbsp;
|-
|align=right| &nbsp;||&nbsp;||align=right|2<sup>−1</sup> B||[[nibble]] ||&nbsp;||&nbsp; ||&nbsp;|| &nbsp;
|-
|align=right| 1 B||= ||align=right|2<sup>0</sup> B||byte ||B ||byte ||B ||align=right| 0
|-
|align=right| 1&nbsp;024 B||= ||align=right|2<sup>10</sup> B||kibibyte ||KiB ||kilobyte ||kB ||align=right| +2,4%
|-
|align=right|1&nbsp;024 KiB||= ||align=right|2<sup>20</sup> B||mebibyte ||MiB ||megabyte ||MB ||align=right| +4,9%
|-
|align=right|1&nbsp;024 MiB||= ||align=right|2<sup>30</sup> B||gibibyte ||GiB ||gigabyte ||GB ||align=right| +7,4%
|-
|align=right|1&nbsp;024 GiB||= ||align=right|2<sup>40</sup> B||tebibyte ||TiB ||terabyte ||TB ||align=right|+10,0%
|-
|align=right|1&nbsp;024 TiB|| = ||align=right|2<sup>50</sup> B||pebibyte || PiB ||petabyte ||PB ||align=right|+12,6%
|-
|align=right|1&nbsp;024 PiB|| = ||align=right|2<sup>60</sup> B||exbibyte || EiB ||exabyte ||EB ||align=right|+15,3%
 
|}
 
== Word e nibble ==
 
* 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 [[Dword|double word]].
 
* 8 byte = 64 bit = 4 word = 2 double word, sono chiamati anche [[Qword|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 ==
 
'''bit (b)''': 1 bit = 1/8 Byte
 
'''Byte (B)''': Reali 8 bit (commercialmente 10 bit)
 
'''Kibibit (Kib)''': {{formatnum:1024}} bit, 128 Byte ({{formatnum:1024}}bit&nbsp;/&nbsp;8)
 
'''KibiByte (KiB)''': {{formatnum:1024}} Byte, {{formatnum:8192}} bit ({{formatnum:1024}}&nbsp;Byte&nbsp;×&nbsp;8)
 
'''Mebibit (Mib)''': {{formatnum:1024}} Kib, {{formatnum:1048576}} bit
 
'''MebiByte (MiB)''': {{formatnum:1024}} KiB, {{formatnum:1048576}} B
 
'''GibiByte (GiB)''': {{formatnum:1024}} MiB, {{formatnum:1048576}} KiB, {{formatnum:1073741824}} B
 
'''TebiByte (TiB)''': {{formatnum:1024}} GiB, {{formatnum:1048576}} MiB, {{formatnum:1073741824}} KiB, {{formatnum:1099511627776}} B
 
'''PebiByte (PiB)''': {{formatnum:1024}} TiB, {{formatnum:1048576}} GiB, {{formatnum:1073741824}} MiB, {{formatnum:1099511627776}} KiB, {{formatnum:1125899906842624}} B
 
Consideriamo il byte l'unità di base: {{formatnum:1024}} volte un byte equivale a 1 kibibyte. {{formatnum:1048576}} volte un byte equivale a 1 mebibyte, espresso anche in {{formatnum:1024}} kibibyte. Lo stesso vale per i gibibyte, dove 1 gibibyte equivale a {{formatnum:1024}} mebibyte, a {{formatnum:1048576}} kibibyte, mentre i byte corrispondenti sono {{formatnum:1073741824}}. Anche per i tebibyte è lo stesso principio: {{formatnum:1024}} sono i gibibyte, i mebibyte sono {{formatnum:1048576}}, i kibibyte sono {{formatnum:1073741824}} e in byte sono invece {{formatnum:1099511627776}}.
 
1 b = ⅛ byte – (binary digit)
 
1 B = 1 byte – (byte)
 
1 KiB = {{formatnum:1024}} B – (kibibyte)
 
1 MiB = {{formatnum:1048576}} B – (mebibyte)
 
1 GiB = {{formatnum:1073741824}} B – (gibibyte)
 
1 TiB = {{formatnum:1099511627776}} B – (tebibyte)
 
1 PiB = {{formatnum:1125899906842624}} B – (pebibyte)
 
1 EiB = {{formatnum:1152921504606846976}} B – (exbibyte)
 
1 ZiB = {{formatnum:1180591620717411303424}} B – (zebibyte)
 
1 YiB = {{formatnum:1208925819614629174706176}} B – (yobibyte)
 
== Note ==
Line 124 ⟶ 86:
 
== Altri progetti ==
{{interprogetto|wikt=byte|wikt_etichetta=byte|preposizione=sul}}
 
== Collegamenti esterni ==
* {{Collegamenti esterni}}
*{{Treccani|byte}}
* {{FOLDOC|byte|byte}}
 
{{Portale|informatica|metrologia}}