Utente:Agnul/Sandbox/Ordinamento dei byte

Da Wikipedia, l'enciclopedia libera.
Vai alla navigazione Vai alla ricerca

Il problema dell'ordinamento dei byte riguarda la rappresentazione nella memoria di un calcolatore dei numeri non codificabili con un singolo byte.

La memoria di un calcolatre viene convenzionalmente schematizzata come una sequenza di celle con la capacità di contenere esattamente un byte, ognuna indirizzabile singolarmente. Un singolo byte non è di solito sufficiente a rappresentare una quantità numerica utile, che a seconda del tipo di microprocessore e del linguaggio usato consiste di due, quattro o anche otto byte. Questi byte possono essere memorizzati in un ordine qualsiasi, ma le varianti più comumenente usate sono

  • Big endian, ovvero il byte più significativo all'indirizzo di memoria più basso. Per esempio, il numero 0x1234, composto dai byte 0x12 e 0x34 verrà memorizzato (considerando gli indirizzi di memoria crescenti da sinistra a destra) come 0x12, 0x34. Il numero 0x12345678, composto dai quattro byte 0x12, 0x34, 0x56 e 0x78 verrà memorizzato come 0x12, 0x34, 0x56, 0x78. L'ordinamento big endian viene usato normalmente dai microprocessori Motorola, e dalla maggior parte dei microprocessori di tipo RISC, ed è anche noto come network order, perchè è lo stesso ordine con cui vengono trasmesse le sequenze di byte in rete.
  • Little endian, ovvero il byte meno significativo all'indirizzo di memoria più basso. Il valore 0x1234 dell'esempio precendente verra' memorizzato (sempre considerando gli indirizzi di memoria crescenti da sinistra a destra) come 0x34, 0x12. Il numero 0x12345678 come 0x78, 0x56, 0x34, 0x12. L'ordinamento little-endian è usato normalmente dai microprocessori Intel e da molte apparecchiature di rete.