ГОСТ 1»ИСО/МЭК 8825-2-2003
10.5.7.2 (Случай одного огстега). Если диапазон «range* имеет значение 256, то значение (л — lb)
должно быть закодировано в одном октете выровненного по октету битового поля в виде неотри
цательного двоичного целого кодирования, как определено в 10.3.
10.5.7.3 (Случай двух октетов). Если диапазон «range* имеет значение большее или равное 257
и меньшее или равное 64К, то значение (я — 1Ь) должно быть закодировано в двух октетах выров
ненного по октету битового поля в виде неотрицательного двоичного целого кодирования, как
определено в 10.3.
10.5.7.4 (Случай неопределенной длины). В противном случае значение (я — 1Ь) должно быть
закодировано в неотрицательном двоичном целом виде в выровненном по октету битовом поле с
минимальным количеством октетов, как определено в 10.3. а количество занятых под кодирование
октетов 1еп используется другими разделами, ссылающимися на данный раздел, для спецификации
кодирования длины.
10.6 Кодирование обычно маленького неотрицательного целого числа
П р и м е ч а н и е —Эта процедура используется при кодировании неотрицательного целого числа, кото
рое предполагается маленьким, но размер которого потенциально нс ограничивается из-за наличия маркера
расширения. Примером является индекс выбора.
10.6.1 Если неотрицательное целое число п й 63. то к списку полей должно быть добавлено
однобитовое пазе с битом, равным 0, а л должно быть закодировано неотрицательным двоичным
целым кодированием в 6-битовом поле.
10.6.2 Если л а 64, то к списку полей должно быть добавлено однобитовое пазе с битом,
равным 1. Затем значение п должно быть закодировано как полуограниченное целое чисто с 1Ь= 0, и
должны быть проведены процедуры 10.9 для его добавления к списку полей с предшествующим
детерминантом длины.
10.7 Кодирование полуограниченного целого числа
Пр и м е ч а н и е —Эга процедура используется, когда может быть идешифицироиаиа нижняя граница,
но нс верхняя. Процедура кодировании располагает смешение от нижней границы в минимальном количестве
октетов в неотрицательном двоичном целом виде и требует явного кодирования длины (обычно один октет),
как определено в последующих процедурах.
10.7.1 Данный подраздел специфицирует отображение из полуограничеиных целых чисел в
выровненное по октету битовое поле, которое используется в последующих разделах настоящего
стандарта.
10.7.2 Процедуры настоящего подраздела вызываются, если только полуограниченное целое
число (обозначенное /г), которое должно быть закодировано, доступно, а значение lb было опреде
лено из нотации типа (посте применения видимых для PER ограничений).
П ри меч а ии е —Нижняя граница не может- быть определена, если вычисление M1N приводит к
бесконечному числу. Например нижняя граница не может быть определена для INTEGER (MIN..МАХ).
10.7.3 Процедуры настоящего полраздела всегда приводят к случаю неопределенной длины.
10.7.4 (Случай неопределенной длины). Значение (я — 1Ь) должно быть закодировано как
неотрицательное двоичное целое в выровненном по октету поле битов с минимальным количеством
октетов, как определено в 10.3, а количество занятых под кодирование октетов Jen используется в
других разделах, которые ссылаются на настоящий подраздел для спецификации
кодирования длины.
10.8 Кодирование неограниченного целого числа
Пр и ме ч а н и е — Этот случай возникает только при кодировании значения целого тигга без нижней
границы. Проислура кодирует значение как двоично-дополнительное до 2 целое в минимальном для размеще
ния кода количестве октетов и требует явного кодирования длины (обычно один октет), как определено в
последующих процедурах.
10.8.1 Настоящий подраздел специфицирует отображение неограниченного целого числа (обо
значенного л) в выровненное по октету поле битов, которое используется в последующих разделах
настоящего стандарта.
10.8.2 Процедуры настоящего подраздела всегда приводят к случаю неопределенной длины.
10.8.3 (Случай неопределенной длины.) Значение л должно быть закодировано как двоично-
дополнительное до 2 целое п выровненное по октету поле битов с минимальным количеством