Существует множество способов, с помощью которых процессоры реализуют большие и маленькие символы - для подробного обсуждения обратитесь к статье в Википедии по адресу Endianness.
Для количества 2-байтового, есть только два варианта:
Value: 0x1234 (MSB = 0x12, LSB = 0x34)
Little-endian: LSB then MSB 0x34 0x12 — Intel, …
Big-endian: MSB then LSB 0x12 0x34 — SPARC, PowerPC, …
Для количества 4-х байт, есть больше вариантов, но все еще есть две основные из них (плюс историческое любопытство):
Value: 0x12345678 (MSB = 0x12, NMSB = 0x34, NLSB = 0x56, LSB = 0x78)
Little-endian: LSB, NLSB, NMSB, MSB 0x78 0x56 0x34 0x12
Big-endian: MSB, NMSB, NLSB, LSB 0x12 0x34 0x56 0x78
PDP-11: NMSB, MSB, NLSB, LSB 0x34 0x12 0x78 0x56
Обратите внимание, что ряд современных наборов микросхем би-младшему - может быть включен, чтобы запустить в тупоконечника или прямой порядок байтов режима:
В некоторых архитектурах (включая версии ARM версии 3 и выше, PowerPC, Alpha, SPARC V9, MIPS, PA-RISC, SuperH SH-4 и IA-64) предусмотрена настройка, которая позволяет переключаться с точностью до сегментов данных, сегментов кода или обоих.
Нет, это неправильно, у вас есть это в обратном направлении. В младшем значении наименьший значащий байт имеет самый низкий адрес. –
Ваш первый абзац верен, за исключением неправильного использования слова «после», что делает его несколько запутанным (я думаю, вы имели в виду «затем» вместо «после»). Я не понимаю, что вы просите во втором абзаце. – interjay
Вы уже ответили на свой вопрос. «B1 после 23 после 5D и после A1». Можете ли вы описать свою реальную проблему программирования? Нулевой адрес обычно недоступен для программ. И вы можете использовать такие функции, как hton, чтобы избежать необходимости решать проблемы с Endian. –