Sobes.tech
Junior — Middle

Обяснете принципа на показване на байтовете в реда little-endian в паметта на компютъра.

sobes.tech AI

Отговор от AI

В реда little-endian, най-малко значимият байт на числото се съхранява на най-ниския адрес на паметта, а най-значимият — на по-високия. Например, 32-битното число 0x12345678 в паметта ще бъде разположено като последователност от байтове: 0x78, 0x56, 0x34, 0x12.

Това означава, че при четене на байтове от най-ниския адрес, първо получаваме най-малко значимия байт на числото. Този ред е удобен за някои операции и се използва в архитектурите x86.

Пример в Go за демонстриране на записване на число във формат 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) // Ще изведе: 78 56 34 12
}