Sobes.tech
Junior — Middle

Vysvětlete princip zobrazení bajtů v pořadí little-endian v paměti počítače.

sobes.tech AI

Odpověď od AI

V pořadí little-endian je nejméně významný bajt čísla uložen na nejnižší adrese paměti, zatímco nejvýznamnější na nejvyšší. Například 32bitové číslo 0x12345678 bude v paměti uloženo jako sekvence bajtů: 0x78, 0x56, 0x34, 0x12.

To znamená, že při čtení bajtů od nejnižší adresy získáme nejprve nejméně významný bajt čísla. Tento pořádek je vhodný pro některé operace a používá se v architekturách x86.

Příklad v Go, který ukazuje, jak zapsat číslo ve formátu 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) // Výstup: 78 56 34 12
}