Ordine dei byte: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
|||
Riga 1:
L''''ordine dei byte''' (conosciuto anche come '''big-endian''', '''little-endian''' o '''middle-endian''' a seconda dei metodi differenti) sono modalità differenti usate dai [[Computer|calcolatori]] per immagazzinare in [[memoria (informatica)|memoria]] [[dato|dati]] di dimensione superiore al [[byte]] (es. [[word]], [[dword]], [[qword]]).
== Etimologia ==
I termini big-endian e little-endian derivano, come racconta [[Jonathan Swift]] nel romanzo ''[[I viaggi di Gulliver]]'', dai nomi di due popolazioni che abitavano nelle favolose isole di [[Lilliput]] e [[Lilliput|Blefuscu]], che erano entrati in rivalità per il modo in cui aprivano le uova: rompendo la punta (a Lilliput, per editto dell'imperatore, il cui figlio una volta si tagliò aprendo un uovo dall'estremità più grande, fu ordinato di aprire le uova dall'estremità più corta: little endians) o il fondo (a Blefuscu, in cui si rifugiarono gli oppositori che volevano conservare la tradizione di rompere le uova dall'estremità più grande: big endians). A causa di questa differenza (e della sua legittimazione imperiale), era scoppiata tra le due isole una guerra sanguinosa.
==
La ''endianness'' (ordine dei byte) di un computer dipende essenzialmente dall'architettura hardware usata. Ad esempio, [[Intel]] e [[Digital]] usano il formato little endian mentre [[Motorola]], [[IBM]] e [[Sun Microsystems|Sun]] usano il formato big endian. Il formato dei dati contenuti nelle intestazioni dei [[Protocollo di rete|protocolli di rete]] è anch'esso big endian; altri esempi di uso di questi due diversi formati sono quello del bus [[Peripheral Component Interconnect|PCI]], che è little endian, o quello del [[VMEbus|bus VME]] che è big endian.
== Descrizione ==
Questa differenziazione non riguarda né la posizione dei [[Bit (informatica)|bit]] all'interno del byte (nel qual caso si parla di [[ordine dei bit]]) né le posizioni dei caratteri in una [[Stringa (informatica)|stringa]]. Ha invece importanza nell'interpretazione (o decodifica) delle codifiche multi-byte di stringhe di caratteri (ad esempio: la codifica [[UTF-16]] dello standard [[unicode]]).
=== Classificazione ===
La differenza tra i due sistemi è data dall'ordine con il quale i byte costituenti il dato da immagazzinare vengono memorizzati:
Riga 15 ⟶ 18:
L'ordine big-endian è stato scelto come ordine standard in molti protocolli utilizzati in [[Internet]], viene perciò anche chiamato ''network byte order''. Per contro viene chiamato ''host byte order'' l'ordine nativo dell'[[host]] in uso.
=== Uso dei formati di data ===
I termini vengono alle volte usati anche per indicare il formato di data:
* gg/mm/aaaa: la data europea è little-endian
| |||