Sobes.tech
Junior — Middle

Magyarázza el a byte-ok little-endian sorrendben történő megjelenítésének elvét a számítógép memóriájában.

sobes.tech MI

Válasz az MI-től

Kis-endian sorrendben a szám legkevésbé jelentős byte-ja a legkisebb memória címen tárolódik, míg a legnagyobb a legnagyobb címen. Például, a 0x12345678 32-bites szám a memóriában a következő byte-sorozatként helyezkedik el: 0x78, 0x56, 0x34, 0x12.

Ez azt jelenti, hogy az alacsonyabb címtől olvasva először a szám legkevésbé jelentős byte-ját kapjuk. Ez a sorrend bizonyos műveleteknél kényelmes, és az x86 architektúrákban használatos.

Go nyelven, hogy bemutassuk, hogyan írhatunk egy számot kis-endian formátumban:

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) // Eredmény: 78 56 34 12
}