Big Endian: Understanding the Order of Bytes
В информатике big endian (большой порядок) и little endian (малый порядок) являются форматами хранения байтов в памяти компьютера. Big endian характеризуется тем, что старший байт (самый значимый) находится первым, а младший (самый незначимый) - последним.
Например, число 0x1234 в big endian будет представлено в памяти как 0x12 0x34, где первые два байта 0x12 являются старшими байтами, а они находятся в начале памяти.
В языке Си можно использовать объединение (union) для преобразования целого числа в массив байтов, и наоборот:
c
#include
union Endian {
int num;
unsigned char bytes[4];
};
int main() {
union Endian endian;
endian.num = 0x12345678;
printf("4-байтовое число: 0x%X\n", endian.num);
printf("Старший байт: 0x%X\n", endian.bytes[0]);
return 0;
}
В этом примере мы объявляем объединение Endian, которое содержит четырехбайтовое целое число и массив из 4 байтов. Мы устанавливаем значение числа равным 0x12345678 и выводим значимость его байтов:
4-байтовое число: 0x12345678
Старший байт: 0x12
Здесь мы видим, что старший байт 0x12 находится первым в массиве, что соответствует big endian формату.
Таким образом, big endian - это формат хранения байтов, при котором самый значимый байт находится первым в памяти, что может иметь значение, например, для архитектуры процессора при обработке целых чисел и других данных.