Sobes.tech
Junior — Middle

Објасните принцип приказа бајтова у реду little-endian у меморији рачунара.

sobes.tech АИ

Одговор од АИ

U little-endian redosledu, najmanje značajni bajt broja se skladišti na najnižoj adresi memorije, a najznačajniji na najvišoj. Na primer, 32-bitni broj 0x12345678 u memoriji će biti smešten kao niz bajtova: 0x78, 0x56, 0x34, 0x12.

To znači da prilikom čitanja bajtova sa najniže adrese, prvo dobijamo najmanje značajni bajt broja. Ovaj red je pogodan za neke operacije i koristi se u arhitekturama x86.

Primer u Go za demonstraciju zapisivanja broja u little-endian formatu:

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