Big-endian sistemas e o menor endereço de memória
-
29-09-2020 - |
Pergunta
Eu li em pt.Taxas que o "Big-endian sistemas de armazenar o byte mais significativo de uma palavra no menor endereço de memória e o byte menos significativo no maior.Um little-endian sistema, em contraste, armazena o byte menos significativo no menor endereço."
Mas eu não sei o que é "o menor endereço de memória", e como "Big-ordenação é a dominante de ordenação em protocolos de rede, tais como a suite de protocolos da internet, onde ele é conhecido como ordem de rede, transmitindo o byte mais significativo primeiro", em que tipo de protocolos, o primeiro é acessado o menor endereço de memória e, em little-endian sistema é acessado o endereço de memória?
Solução
Se o mapa de memória de bytes foram dispostos da esquerda para a direita na incremental ordem de endereço, o menor endereço é na esquerda.O maior endereço está do lado direito.
Vamos dizer que você está armazenando o valor de 32 bits, 19088743, que é 0x01234567
em hex, no endereço 0x1000
.Portanto, o valor de 4 bytes terá uma duração de mais de 4 bytes na memória de endereço 0x1000
, 0x1001
, 0x1002
, e 0x1003
No big-endian, o 01
é armazenado em 0x1000
(o menor endereço) e o 67
é armazenado em 0x1003
(o maior de endereços).Exatamente como você pensaria que é se você nunca tinha ouvido falar de little-endian.
Em relação a little endian, o 01
é armazenado em 0x1003
(o maior de endereços) e o 67 é armazenado em 0x01000 (o menor endereço).
Big Endian e Rede de Ordem de Bytes, geralmente, significam a mesma coisa.
Big Endian
|===================================|
| 0x1000 | 0x1001 | 0x1002 | 0x1003 |
|-----------------------------------|
| 0x01 | 0x23 | 0x45 | 0x67 |
|===================================|
Little Endian
|===================================|
| 0x1000 | 0x1001 | 0x1002 | 0x1003 |
|-----------------------------------|
| 0x67 | 0x45 | 0x23 | 0x01 |
|===================================|
Outras dicas
Diga que você tem um computador com um gib de memória, isto é com $ 2 ^ {30} $ bytes.Você terá alguma imagem mental como essa memória é organizada, da esquerda para a direita, da direita para a esquerda (as pessoas que são usadas para escrever da esquerda para a direita geralmente não fazem isso), de cima para baixo, ou de baixo para cima.Isso é puramente em sua mente (ou um desenho no papel), mas qualquer imagem mental que você tem, há um primeiro e um último byte.
Normalmente você tem um mapeamento de inteiro para bytes de memória.Nesse caso, você provavelmente associaria o menor número sagacidade o primeiro byte.Observe que o menor número geralmente não é 0.