Интернет магазин китайских планшетных компьютеров |
||
Компьютеры - Порядок байтов23 января 2011Оглавление: 1. Порядок байтов 2. Проблемы совместимости 3. Вещественные числа 4. Интересные факты метод записи байтов многобайтовых чисел в информатике. В общем случае, для представления числа, большего 255) приходится использовать несколько байтов. При этом число M записывается в позиционной системе счисления по основанию 256: Набор целых чисел , каждое из которых лежит в интервале от 0 до 255, является последовательностью байтов для записи M. Варианты записиПорядок от старшего к младшемуПорядок от старшего к младшему или: , запись начинается со старшего и заканчивается младшим. Этот порядок является стандартным для протоколов TCP/IP, он используется в заголовках пакетов данных и во многих протоколах более высокого уровня, разработанных для использования поверх TCP/IP. Поэтому, порядок байтов от старшего к младшему часто называют сетевым порядком байтов. Этот порядок байтов используется процессорами IBM 360/370/390, Motorola 68000, SPARC. В этом же виде записываются числа индийско-арабскими цифрами в письменностях с порядком знаков слева направо. Для письменностей с обратным порядком та же запись числа воспринимается как «от младшего к старшему». Порядок байтов от старшего к младшему применяется во многих форматах файлов например, PNG, FLV, EBML. Порядок от младшего к старшемуПорядок от младшего к старшему или, о происхождении термина ниже): , запись начинается с младшего и заканчивается старшим. Этот порядок записи принят в памяти персональных компьютеров с x86-процессорами, в связи с чем иногда его называют интеловский порядок байтов. В некоторых кругах используется название англ. VAX order, например, в документации Perl. В противоположность «тупоконечному» порядку, меньше кросс-платформенных протоколов и форматов данных с «остроконечным» порядком байт; заметные исключения: USB, конфигурация PCI, таблица разделов GUID, рекомендации FidoNet. Переключаемый порядокМногие процессоры могут работать и в порядке от младшего к старшему, и в обратном, например, ARM, PowerPC, DEC Alpha, MIPS, PA-RISC и IA-64. Обычно порядок байтов выбирается программно во время инициализации операционной системы, но может быть выбран и аппаратно перемычками на материнской плате. В этом случае правильнее говорить о порядке байтов операционной системы. Переключаемый порядок байтов иногда называют англ. bi-endian. Смешанный порядокСмешанный порядок байтов иногда используется при работе с числами, длина которых превышает машинное слово. Число представляется последовательностью машинных слов, которые записываются в формате, естественном для данной архитектуры, но сами слова следуют в обратном порядке. Классический пример middle-endian представление 4-байтных целых чисел на 16-битных процессорах семейства PDP-11. Для представления двухбайтных значений использовался порядок little-endian, но 4-хбайтное двойное слово записывалось от старшего слова к младшему. В процессорах VAX и ARM используется смешанное представление для длинных вещественных чисел. ПримерДалее приведён пример, в котором описывается размещение 4-байтового числа в ОЗУ ЭВМ, доступ к которому может производиться как к 32-разрядному слову, так и побайтно. Все числа записаны в 16-ричной системе счисления.
СравнениеСущественным достоинством little-endian по сравнению с big-endian порядком записи считается возможность «неявной типизации» целых чисел при чтении меньшего объёма байт. Так, если в ячейке памяти содержится число 0x00000022, то прочитав его как int16 мы получим число 0x0022, прочитав один байт число 0x22. Однако, это же может считаться и недостатком, потому что провоцирует ошибки потери данных. Обратно, считается что у little-endian, по сравнению с big-endian есть «неочевидность» значения байтов памяти при отладке на самом деле значит 0xD4C3B2A1, для big-endian эта последовательность читалась бы «естественным» для арабской записи чисел образом: 0xA1B2C3D4). Наименее удобным в работе считается middle-endian формат записи; он сохранился только на старых платформах. Для записи длинных чисел обычно предпочтительнее порядок слов в числе little-endian. Порядок байтов в слове обычный для данной архитектуры. Просмотров: 4839
|