Порядок байтів - це

Порядок байтів - метод запису байтів мультибайтних чисел в інформатиці.

У загальному випадку, для представлення числа M. більшого 255 (тут - максимальне ціле число, що записується одним октетом), доводиться використовувати кілька байтів-октетів. При цьому число M записується в позиційній системі числення за основою 256:

Набір цілих чисел, кожне з яких лежить в інтервалі від 0 до 255, є послідовністю байтів, складових M. При цьому називається молодшим байтом. а - старшим байтом числа M.

варіанти запису

Порядок від старшого до молодшого

Порядок від старшого до молодшого або (англ. Big-endian. Дослівно: «тупокінцевий»):, запис починається зі старшого і закінчується молодшим. Цей порядок є стандартним для протоколів TCP / IP. він використовується в заголовках пакетів даних і в багатьох протоколах більш високого рівня, розроблених для використання поверх TCP / IP. Тому, порядок байтів від старшого до молодшого часто називають мережевим порядком байтів (англ. Network byte order). Цей порядок байтів використовується процесорами IBM 360/370/390, Motorola 68000. SPARC (звідси третя назва - порядок байтів Motorola. Motorola byte order).

У цьому ж виді (використовуючи подання до десяткової системі числення) записуються числа індійсько-арабськими цифрами в писемностях з порядком знаків зліва направо (латиниця, кирилиця). Для писемностей на протилежне (арабська) та ж запис числа сприймається як «від молодшого до старшого».

Порядок байтів від старшого до молодшого застосовується в багатьох форматах файлів - наприклад, PNG. FLV. EBML.

Порядок від молодшого до старшого

Порядок від молодшого до старшого або (англ. Little-endian. Дослівно: «гострий»), про походження терміна нижче):, запис починається з молодшого і закінчується старшим. Цей порядок записи прийнятий в пам'яті персональних комп'ютерів з x86 Процесор, в зв'язку з чим іноді його називають интеловский порядок байтів (за назвою фірми-творця архітектури x86). У деяких колах використовується назва англ. VAX order. наприклад, в документації Perl [1].

На противагу «тупокінцевий» порядку, менше [джерело не вказано 580 днів] крос-платформних протоколів і форматів даних з «гострим» порядком байт; помітні винятки: USB. конфігурація PCI. таблиця розділів GUID. рекомендації FidoNet.

перемикається порядок

Багато процесори можуть працювати і в порядку від молодшого до старшого, і в зворотному, наприклад, ARM. PowerPC (але не PowerPC 970), DEC Alpha. MIPS. PA-RISC і IA-64. Зазвичай порядок байтів вибирається програмно під час ініціалізації операційної системи. але може бути обраний і апаратно перемичками на материнській платі. В цьому випадку правильніше говорити про порядок байтів операційної системи. Перемикається порядок байтів іноді називають англ. bi-endian.

змішаний порядок

Змішаний порядок байтів (англ. Middle-endian) іноді використовується при роботі з числами, довжина яких перевищує машинне слово. Число представляється послідовністю машинних слів. які записуються в форматі, природному для даної архітектури, але самі слова слідують в зворотному порядку.

Класичний приклад middle-endian - уявлення 4-байтних цілих чисел на 16-бітних процесорах сімейства PDP-11 (відомий як PDP-endian). Для уявлення двобайтових значень (слів) використовувався порядок little-endian, але 4-хбайтное подвійне слово записувалося від старшого слова до молодшого.

У процесорах VAX і ARM використовується змішане уявлення для довгих дійсних чисел.

Далі наведено приклад, в якому описується розміщення 4-байтового числа в ОЗУ ЕОМ, доступ до якого може здійснюватися як до 32-розрядному слову, так і побайтно.

Всі числа записані в 16-річної системі числення.

Порядок байтів - це

Розміщення байтів слова в пам'яті Big-endian і Little-endian ЕОМ

Істотним достоїнством little-endian в порівнянні з big-endian порядком запису вважається можливість «неявній типізації» цілих чисел при читанні меншого обсягу байт (за умови, що читається число поміщається в діапазон). Так, якщо в комірці пам'яті міститься число 0x00000022, то прочитавши його як int16 (два байти) ми отримаємо число 0x0022, прочитавши один байт - число 0x22. Однак, це ж може вважатися і недоліком, тому що провокує помилки втрати даних.

Назад, вважається що у little-endian, в порівнянні з big-endian є «неочевидність» значення байтів пам'яті при налагодженні (послідовність байтів (A1, B2, C3, D4) насправді означає 0xD4C3B2A1, для big-endian ця послідовність (A1 , B2, C3, D4) читалася б назвати «природним» для арабської записи чисел чином: 0xA1B2C3D4). Найменш зручним в роботі вважається middle-endian формат запису; він зберігся тільки на старих платформах.

Для запису довгих чисел (чисел, довжина яких перевищує розрядність машини) зазвичай краще порядок слів у числі little-endian (оскільки арифметичні операції над довгими числами виробляються від молодших розрядів до старших). Порядок байтів в слові - звичайний для даної архітектури.

проблеми сумісності

Запис мультибайтних числа з пам'яті комп'ютера в файл або передача по мережі вимагає дотримання угод про те, який з байтів є старшим, а який молодшим. Прямий запис осередків пам'яті призводить до можливих проблем при перенесенні додатки з платформи на платформу.

Визначення порядку байтів

Порядок байтів в конкретній машині можна визначити за допомогою програми на мові Сі (testendian.c):

Висновок даної програми осмислений тільки на платформах, де розмір типу unsigned short більше, ніж розмір типу unsigned char. Це свідомо вірно на переважній більшості комп'ютерів, так як вони мають 8-розрядний байт. Однак існують і апаратні платформи, в яких розмір байта дорівнює розміру слова (або, в термінах мови C: sizeof (char) == sizeof (int)). Наприклад, в суперкомп'ютерах Cray.

Результати запуску на big-endian машині (SPARC):

Результати запуску на little-endian машині (x86):

Дивитися що таке "Порядок байтів" в інших словниках:

зворотний порядок байтів - Спосіб зберігання та обміну даними в мережі, при якому спочатку передається наймолодший байт, а потім інші в порядку, зворотному їх розміщення в блоці даних. [Л.М. Невдяев. Телекомунікаційні технології. Англо російський тлумачний словник ... ... Довідник технічного перекладача

прямий порядок байтів - Спосіб зберігання та обміну даними в мережі, при якому спочатку передається найстарший байт, а потім інші в порядку їх розміщення в блоці даних. Пор. little. [Л.М. Невдяев. Телекомунікаційні технології. Англо російський тлумачний словник ... ... Довідник технічного перекладача

Порядок байт - Порядок байтів в інформатиці метод запису байтів мультибайтних чисел. У загальному випадку, коли потрібно компактно записати число, більше 255 (28 - 1 = 255 максимальне ціле число, що записується одним байтом (октетом)) необхідно використовувати ... ... Вікіпедія

порядок проходження байтів - Під цим терміном розуміється порядок зберігання байтів в машинному слові (або подвійному слові). Порядок може бути "прямим" (тобто 32 бітове число зберігається так 0x12345678) і тоді говорять "big endianness" (на вітчизняному жаргоні ... ... Довідник технічного перекладача

UTF-16 - (англ. Unicode Transformation Format) в інформатиці один із способів кодування символів з Unicode в вигляді послідовності 16 бітних слів. Дана кодування дозволяє записувати символи Юнікоду в діапазонах U + 0000..U + D7FF і ... ... Вікіпедія

  • Порядок байтів. Джессі Рассел. Ця книга буде виготовлена ​​в відповідності з Вашим замовленням за технологією Print-on-Demand. High Quality Content by WIKIPEDIA articles! Поря? Док ба? Йтов - метод запису байтів мультибайтних ... Детальніше Купити за 950 руб

Схожі статті