ГОСТ Р ИСО/МЭК 8825-3—2016
ней границ. Это является синонимом спецификации положительного значения, равного наименьшему
значению, которое необходимо для вмещения преобразователя каждого абстрактного значения внутри
границ.
Примечание — "SIZE» не гложет устанавливаться в «fixed-to-max». если источник является смесью
преобразователей.
24.8.9 «AS» выбирает кодирование целого числа в виде кодирования с дополнением до 2 или коди
рования положительного целого числа. Описание этих кодирований дано в ИСО/МЭК 8825-1, пункты 8.3.2 и
8.3.3.
24.8.10 Бит старшего порядка должен быть в начале цепочки битов.
24.8.11 Целое число сначала кодируется в минимальное число битов, необходимое для создания
начальной цепочки битов. Это значит, что кодирование положительного целого числа не должно иметь
нуль в качестве начального бита (если в кодировании нет одиночного бита «нуль»), а кодирование с
дополнением до 2 не должно иметь двух следующих друг за другом начальных битов «нуль» или двух
следующих друг за другом начальных битов «единица».
24.8.12 Если «AS» установлен в «positive-int», а преобразуемое значение отрицательно, то
спецификация ECN или применение будут ошибочными, а кодеры не будут кодировать такие значения.
24.8.13 Если «SIZE» равно «variable», то начальная цепочка битов становится результирующей
цепочкой битов. В этом случае указание значения для «MULTIPLE OF» не будет ошибкой, но это зна
чение игнорируется.
Примечание — Этот раздел не может применяться, если источник является смесью.
24.8.14 Если «SIZE» является положительным значением, то размер результирующей цепочки
битов должен равняться произведению «MULTIPLE OF» на «SIZE».
24.8.15 Если «SIZE» равен «fixod-to-max». то размер результирующей цепочки битов должен
быть наименьшим числом «MULTIPLE OF», которое достаточно велико для приема кодирования любо
го абстрактного значения класса, к которому преобразователь применен.
Примечание — Этот раздел не может применяться, если источник является смесью.
24.8.16 Если начальная цепочка битов (в экземпляре применения этого преобразователя во вре
мя кодирования) слишком велика для фильтрованного размера, то это будет ошибкой спецификации
ECN или применения, а кодеры не должны кодировать такие значения.
24.8.17 Если начальная цепочка битов меньше, чем указанный размер, то при кодировании поло
жительного целого числа оно должно иметь нуль битов в виде префикса при создании результирующей
цепочки битов. Если применено кодирование с дополнением до 2, то оно должно иметь префикс в виде
битов, равных по значению исходному начальному биту, при создании результирующей цепочки битов.
24.8.18 Этот преобразователь определен так. чтобы быть обратимым для всех абстрактных зна чений.
Этот преобразователь создает саморазграиичивающую цепочку битов, если, и только если, «SIZE»
не равен «variable», а источник не является смесью. Результат в виде смеси никогда не будет
саморазграничивающим.
24.9 Преобразователь bits-to-lnt
24.9.1 Преобразователь bits-to-int использует следующий признак кодирования:
&bits-to-int-dccoded-assumingENUMERATED
{positive4nt. twos-comploment}
DEFAULT twos-complemont
24.9.2 Синтаксисом для преобразователя bits-to-int будет следующий:
[BITS-TO-INT
[AS &bits-to-int-decodod-assuming]]
24.9.3 Источником для этого преобразователя является цепочка битов или смесь цепочек битов, а
результатом является целое число или смесь целых чисел. Отсутствуют границы, связанные с резуль
татом.
147