Sobes.tech
Back to questions
Junior — Middle
91

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

Companies where asked
Фабрика РешенийФабрика Решений

Answer from AI

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