ГОСТ Р ИСО/МЭК 8825-3—2016
условия «старший значащий байт первым» или «старший значащий байт последним» для целых чисел
либо требуют, чтобы биты в октете были реверсированы по сравнению с нормальным порядком.
9.21.8 Таким образом, имеются три широкие категории необходимой информации:
- первая относится к пространству кодирования, в котором размещаются кодовые последователь
ности;
- вторая относится к способу отображения абстрактного значения в биты (кодирование значения)
и к размещению таких битов внутри пространства кодирования:
- третья относится к какой-либо реверсии битов.
9.21.9 На рисунке 1 показаны пространство кодирования (с предварительным заполнением) и
код значения (с предварительным заполнением значения и последующим заполнением значения).
Рисунок 1 иллюстрирует также определение единицы пространства кодирования. Пространство коди
рования всегда является целым, кратным этому указанному числу битов.
Вьсимвеннв отмчин
hhwo
b
w
m
i
С
Игццщю— ипмшн
д
о ыги
р
тся
к «Пишиистроев», кяиажнос реверсной
Витое, октагсаит. а
Рисунок 1— Пространство кодирования, кодирование значения и понятия «заполнение»
9.21.10 Если пространство кодирования не имеет одного размера для всех значений, кодируемых
объектом кодирования, то необходим некоторый дополнительный механизм для определения фактиче
ского пространства кодирования, используемого в экземпляре кодирования.
9.21.11 Возможно также указать произвольное значение предварительного заполнения кодера
(за пределами, необходимыми для выравнивания), которое заканчивается, когда значение более ран
него указателя старта укажет начало некоторого поля.
9.21.12 Определение кодирования для простейшего класса кодирования битового поля состоит
из следующих шагов:
- указать выравнивание (если оно есть), необходимое для переднего края пространства кодиро
вания (относительно точки выравнивания — обычно начала кодирования типа верхнего уровня, то есть
типа, к которому прикладывается набор объектов кодирования в ELM) (см. 22.2):
- указать форму какого-либо необходимого заполнения для этой точки (предварительное запол
нение пространства кодирования) (см. 22.2);
- указать (если необходимо) поле, которое обеспечит указатель для начальной точки простран
ства кодирования (см. 22.3):
- указать кодирование абстрактных значений в биты (кодирование значения);
- указать единицы пространства кодирования (пространство кодирования всегда будет целым,
кратным этим единицам) (см. 22.4);
- указать размер пространства кодирования в этих единицах. Он может быть фиксированным
(с использованием знания целого числа или границ размера, связанных с кодируемыми абстрактными
22