Domanda

Leggi su en.wikipedia che "I sistemi Big-Endian memorizzano il massimoByte significativo di una parola nel più piccolo indirizzo di memoria e il byte meno significativo al più grande. Un sistema poco entrian, al contrario, memorizza il byte meno significativo nel più piccolo indirizzo. "
Ma non so cosa sia "il più piccolo indirizzo di memoria" e in che modo "Big-Endianness è l'ordinanza dominante nei protocolli di rete, come come nella suite di protocollo Internet, dove viene definito come ordine di rete, trasmettendo il massimoPRIMA SIGNIANTI BYTE ", in tali tipi di protocolli, viene accessibile il primo indirizzo di memoria e in un sistema Little-Endian è accessibile all'indirizzo di memoria?

È stato utile?

Soluzione

Se la mappa dei byte di memoria è stata organizzata da sinistra a destra in ordine di indirizzo incrementale, l'indirizzo più piccolo è a sinistra. L'indirizzo più grande è sulla destra.

Diciamo che stai memorizzando il valore a 32 bit, 19088743, che è 0x01234567 in HEX, all'indirizzo 0x1000. Quindi, il valore a 4 byte si estenderà sui 4 byte all'indirizzo di memoria 0x1000, 0x1001, 0x1002 e 0x1003

In Big Endian, il 01 è memorizzato su 0x1000 (l'indirizzo più piccolo) e il 67 è memorizzato su 0x1003 (l'indirizzo più grande). Esattamente come ci penseresti se non avessi mai sentito parlare di Little Endian.

In Little Endian, il 01 è memorizzato su 0x1003 (l'indirizzo più grande) e il 67 è memorizzato su 0x01000 (l'indirizzo più piccolo).

Big Endian e Network Byte Order in genere significano la stessa cosa.

Big Endian

|===================================|
| 0x1000 | 0x1001 | 0x1002 | 0x1003 |
|-----------------------------------|
|  0x01  |  0x23  |  0x45  |  0x67  |
|===================================|

.

Little Endian

|===================================|
| 0x1000 | 0x1001 | 0x1002 | 0x1003 |
|-----------------------------------|
|  0x67  |  0x45  |  0x23  |  0x01  |
|===================================|

.

Altri suggerimenti

Dì che hai un computer con un GIB di memoria, cioè con $ 2 ^ {30} $ Bytes.Avrai un po 'di immagine mentale come questa memoria è disposta, da sinistra a destra, da destra a sinistra (le persone che vengono utilizzate per scrivere da sinistra a destra di solito non lo fanno), dall'alto verso il basso, o dal basso verso l'alto.Questo è puramente nella tua mente (o un disegno su carta), ma qualunque immagine mentale hai, c'è un primo e un ultimo byte.

Di solito si ha una mappatura da un numero intero ai byte di memoria.In tal caso, probabilmente associare il numero più basso con il primo byte.Si noti che il numero più basso spesso non è 0.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a cs.stackexchange
scroll top