Sobes.tech
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
}