Электронный учебник:


Курс лекций:


Дополнительно:

Практикум:



Наши хостеры:

лучшие ноутбуки

--------------------------

обеспечение контракта банковская гарантия

--------------------------

Хранение многобайтовых данных

Одного байта недостаточно для хранения информации. Надо иметь возможность сохранять информацию в нескольких соседних байтах. Чтобы расположить информацию в нескольких байтах памяти, выбирают один из двух способ:

Image

А. Байт с наиболее значащей частью ("big-end", в исходном числе он находится слева) сохраняется в память по наименьшему адресу (N). Такой способ называют "big-endian" - "прямое размещение байтов".Наиболее значащий байт числа обозначают MSB (Most Significant Byte).

IBM 390, Motorola 68000 (семейство компьютеров Apple), Sun Sparc, RISC-процессоры

В. Байт с наиболее значащей частью  сохраняется в памяти по наибольшему адресу (N+3). Первым, наоборот, сохраняется байт с наименьшей значащей частью ("little-end"). Такой способ принято "little-endian" - "обратное размещение байтов".

Intel, PDP-11 и VAX

Некоторые современные процессоры (PowerPC, MIPS, SPARC V9) могут работать и с тем, и с другим порядком байтов, иногда даже в пределах одной программы.

Представим, что текст "UNIX" в качестве двух 2-байтовых слов сохранен системой "big-endian". Тогда система "little-endian" расшифрует его как "NUXI", переставив буквы в каждом из машинных слов. Это иногда называют "проблемой NUXI".

Важно то, как компьютерная система сохраняет данные в файлах а, не хранит "внутри себя". Возможные различия в порядке байтов принимают во внимание при разработке форматов для передачи данных по сети или сохранения в файле. Так, например, файлы программы Adobe PhotoShopи распространенный фотографический формат JPEG используют схему "big-endian", а файлы GIF и BMP - "little-endian".

предыдущаяследующая тема