Piccola e grande confusione endiana

0

Giusto per essere sicuro di averlo capito correttamente. È giusto che i processori little endian leggano gli indirizzi di memoria dal più alto al più basso indirizzo e dove un grande processore endian suppone leggerli dal più basso al più alto indirizzo?

La confusione è arrivata quando ho pensato che è vero che i processori little endian leggono i dati stessi nell'ordine di riserva e non solo la memoria o comunque entrambi?

Ho letto abbastanza su come sono disposti i dati nella memoria e voglio solo sapere come vengono interpretati i dati da entrambi i tipi di processori?

    
posta cpx 12.01.2014 - 20:26
fonte

1 risposta

7

"Is this right that little endian processors read the memory addresses from highest to the lowest address and where as a big endian processors suppose to read them from lowest to the highest address?"

No, sarebbe solo un dettaglio di implementazione del chip di memoria, che non farebbe alcuna differenza per il modo in cui si utilizza il sistema.

Nella notazione little endian un valore multi-byte viene memorizzato con i componenti più piccoli all'indirizzo più basso:

The number 0x12345678 stored at address 0x10:

+--+--+--+--+
|78|56|34|12|
+--+--+--+--+
 ^        ^
 |        |
 0x10     0x13

Nella notazione big endian un valore multi-byte è memorizzato con i componenti più grandi all'indirizzo più basso:

+--+--+--+--+
|12|34|56|78|
+--+--+--+--+
 ^        ^
 |        |
 0x10     0x13

Si noti che endianess non si applica solo al modo in cui i dati vengono letti in modo nativo dal sistema. Un formato di file memorizza i valori multibyte in una di queste notazioni e se si legge un file con notazione little-endian su un sistema che utilizza la notazione big-endian, è necessario scambiare i byte attorno quando si inseriscono i valori multi-byte insieme.

    
risposta data 12.01.2014 - 21:42
fonte

Leggi altre domande sui tag