Порядок байтов: различия между версиями

[отпатрулированная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
к лишению статуса хорошей
→‎Сравнение: улучшила пример: во-первых, разные числа внутри байта, во-вторых, очевиднее перестановочность. Подряд идущие буквы, чем как
Строка 48:
Существенным достоинством little-endian по сравнению с big-endian порядком записи считается возможность «неявной типизации» целых чисел при чтении меньшего объёма байт (при условии, что читаемое число помещается в диапазон). Так, если в ячейке памяти содержится число 0x00000022, то прочитав его как int16 (два байта) мы получим число 0x0022, прочитав один байт — число 0x22.
 
Обратно, считается что у little-endian, по сравнению с big-endian есть «неочевидность» значения байтов памяти при [[отладка|отладке]] (последовательность байтов (33A1, 44B2, 55C3, 12D4) на самом деле значит 0x125544330xD4C3B2A1, для big-endian эта последовательность (33A1, 44B2, 55C3, 12D4) читалась бы «естественным» для арабской записи чисел образом: 0x334455120xA1B2C3D4). Наименее удобным в работе считается middle-endian формат записи; он сохранился только на старых платформах.
 
Для записи [[длинная арифметика|длинных чисел]] (чисел, длина которых существенно превышает разрядность машины) обычно предпочтительнее порядок ''слов в числе'' little-endian (поскольку арифметические операции над длинными числами производятся от младших разрядов к старшим). Порядок ''байтов в слове'' — обычный для данной архитектуры.