ГОСТ Р 51294.6-2000
ПРИЛОЖЕНИЕ F
(рекомендуемое)
Использование знаков Numeric Shift (ЦИФРОВОЙ РЕГИСТР), Shift (РЕГИСТР),
Latch (ФИКСАТОР), Lock-In (БЛОКИРОВКА)
Оптимальная эффективность кодирования может быть достигнута при использовании следующих
рекомендаций. Исходная программа на С. записанная на дискете |5|. позволяет как кодировать сообщение с
v
m
lto
m
настоящих рекомендаций, так и декодировать сообщение.
F.1 Знак Numeric Shift (ЦИФРОВОЙ РЕГИСТР)
Если в цепочке встречается 9 или более цифр, рекомендуется использовать знак |NS] <|ЦР1) следующим
образом:
1) кодируют знак (NS|;
2) выделяют в цепочке первый 9-разрядный блок;
3) осуществляют преобразование 9-разрядного десятичного числа в 30-битовое двоичное значение. Если
число бит двоичной цепочки менее 30. то следует прибавить соответствующее число незначимых нулевых битов
в позиции старшего порядка цепочки:
4) если осгалось9 или более цифр, продолжают действия, начиная с шага 1. впротивномслучае кодируют
любые оставшиеся цифры как знаки кодируемого набора А.
Пример:
Десятичное значение:123456789
Двоичный эквивалент (первым следует бит старшего порядка):
I11010110111100110100010101
Добавление нулей:
0001110101101II100110100010101
Модули знака символа:
000111
010110
111100
110100
010101
Кодовые слова:
7
22
60
52
21
F.2 Переход от кодируемого набора А к кодируемому набору В
Если при использовании знаков набора А последующие знаки содержатся только в наборе В. необходимо
поменять колируемый набор следующим образом:
1) используют знак )Latch В| (|ФИКСАТОР В|), если следующие два или более знаков принадлежат
кодируемому набору В;
2) используют знак (Shift В| (|РЕГИСТР В|), если только один следующий знак принадлежит кодируе
мому набору В.
F.3 I(ереход от кодируемого набора В к колируемому набору А
Если при использовании знаков набора Впоследующие знаки содержатся только в наборе А. необходимо
поменять кодируемый набор.
Г1р и м с ч а и ис — Пять специальных графических знаков (знаки пунктуации версии КОИ-7 с десятич ными
значениями 32. 44. 46. 47 и 58) присутствуют в обоих кодируемых наборах. Взависимости от следующих
знаков данных наиболее эффективное кодирование обеспечивается следующими особыми знаками перехода:
1) используют знак |NS| (|ЦР|), если следующие девять или более знаков являются цифровыми
(детальные рекомендации приведены в F.1):
2) используют знак (Latch А| ((ФИКСАТОР А|). если следующие четыре или более знаков присутствуют
в наборе А;
3) используют |3 Shift А| ((3 РЕГИСТР А|). сети следующие три знака присутствуют в наборе А;
4) используют |2 Shift А| ((2 РЕГИСТР А(). сети следующие два знака присутствуют в наборе А;
5) используют |Shift А| ((РЕГИСТР А|), сети один следующий знак присутствует в наборе А. а остальные
данные — в наборе В.
F.4 Использование знака Lock-In (БЛОКИРОВКА) для перехода к кодируемым наборам С, D или Е
Если при использовании знаков кодируемых наборов А или В последующие знаки содержатся только в
наборах С. D или Е, переход к соответствующим знакам осуществляется следующим обратом:
1) используют соответствующий знак (Shift С, D или Е| (|РЕГИСТР С. D или Е|);
2) кодируют соответствующий знак (Lock-In С, D или Е) ((БЛОКИРОВКА С, D или Е|);
3) кодируют знаки данных из выбранного колируемого набора:
4) если в койне кодирования необходимо перейти к другому кодируемому набору:
35