Junior — Middle
Explique o princípio de exibição de bytes em ordem little-endian na memória do computador.
sobes.tech IA
Resposta da IA
Na ordem little-endian, o byte menos significativo de um número é armazenado no endereço de memória mais baixo, e o mais significativo no mais alto. Por exemplo, o número de 32 bits 0x12345678 na memória será armazenado como uma sequência de bytes: 0x78, 0x56, 0x34, 0x12.
Isto significa que ao ler bytes a partir do endereço mais baixo, obtemos primeiro o byte menos significativo do número. Esta ordem é conveniente para algumas operações e é usada em arquiteturas x86.
Exemplo em Go para demonstrar como gravar um número em little-endian:
package main
import (
"encoding/binary"
"fmt"
)
func main() {
var num uint32 = 0x12345678
buf := make([]byte, 4)
binary.LittleEndian.PutUint32(buf, num)
fmt.Printf("% x\n", buf) // Vai mostrar: 78 56 34 12
}