Что такое big-endian

«Что такое big-endian» — вопрос из категории Сети, который задают на 24% собеседований Golang Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Big-endian — это порядок байтов, при котором старший байт (most significant byte) хранится по наименьшему адресу памяти. Например, число 0x12345678 в big-endian будет представлено как 12 34 56 78.

Пример в Go:

package main

import (
    "encoding/binary"
    "fmt"
)

func main() {
    var num uint32 = 0x12345678
    buf := make([]byte, 4)
    binary.BigEndian.PutUint32(buf, num)
    fmt.Printf("% xn", buf) // Вывод: 12 34 56 78
}

Используется в сетевых протоколах (например, TCP/IP) и некоторых файловых форматах. В Go для работы с big-endian есть пакет encoding/binary.