НПО Системы Безопасности
(499)340-94-73 График работы:
ПН-ПТ: 10:00-19:00
СБ-ВС: выходной

Главная » Периодика » Безопасность

0 ... 78798081828384 ... 101


шихся тетрад для кодирования десятичных цифр недостаточно.

При трех дробных- весах Pi, Р2 и р следует рассмотреть только тот случай, когда попарные суммы дробных весов есть целые числа. Если это не так, то легко видеть, что для кодирования десятичных цифр тетрад не хватает. В • рассматриваемом же случае нельзя использовать тетрады 1100, 1010, 1001, 0100, 0010 и 0001. Однако, если Pi + Рг - Целое, то кроме указанных тетрад нельзя использовать тетрады 1111 и 1110. Аналогично и при Pi+Ps или р+Рз целых. В .любом из -этих случаев тетрат для кодирования десятичных цифр недостаточно.

Наконец, рассмотрим случай четырех дробных весов. В этом случае невозможно использовать тетрады 0001, 0010, 0100 и 1000. Если никакая -из парных сумму весов не равна целому числу, то тетрад для кодирования недостаточно. Если Pi+p и Рз+р - целые, то для кодирования нельзя использовать тетрады 1110, 1101, 0111 и 1011. Таким образом, единственным случаем, который необходимо еще рассмотреть, является вариант, при котором Р1+р2~-Целое число, а Р3+Р4 - дробное число. Но тогда для кодирования десятичных цифр невозможно использовать тетрады 1111, ООП, 1110 и 1101. Оставшихся тетрад для кодирования десятичных. цифр недостаточно.

Для кодов с дробными весами выполняется ряд интересных свойств, справедливость которых вытекает из теорем, доказанных выше для кодов с целыми весами. Среди этих свойств отметим Следующие два важных свойства.

1. Если Pi есть дробный вес, то не существует двух десятичных цифр, которые после двоично-десятичного кодирования отличались бы друг от друга только,в разряде, сопоставляемом этому весу. . 2. Для кодов с дробными весами L < 2"~Ч

• Задачи

1. Доказать, что число двоично-десятичных кодов, в которых каждая десятичная цифра кодируется в т двоичных разрядах, которые обладают свойством дополнительности, равно

2»" (2*" - 2) (2*" - 4) (2*" - 6) (2™ - 8).



2. Исследовать на требования Рутисхаузера коды с положи-, тельными весами, для которых каждая десятичная цифра кодируется

в пяти двоичных разрядах (пентадные коды).

3. Исследовать свойства кодов с избытком относительно кода Эмери 2421.

м -

§ б.З. Код прямого замещения и его свойства

В этом параграфе мы рассмотрим код прямого замещения, в котором каждая десятичная цифра заменяется двоичным Кодом этой цифры, записанным -в четырех двоичных разрядах. Весами такого кода являются числя 8,4,2,1. Код прямого замещения удовлетворяет всем требованиям Рутисхаузера, кроме требования дополнительности. Для кода прямого замещения характерно то, что количественный эквивалент любой тетрады, используемой для кодирования десятичных цифр, в точности равен количественному эквиваленту самой этой цифры. Никакой другой двоично-десятичный код таким свойством не обладает и это делает код 8421 интересным с точки зрения возможностей его использования в вычислительных машинах.

Рассмотрение свойств кода 8421 начнем с описа-.ния алгоритма сложения для этого кода. Правила десятичного сложения имеют следующий вид

Xk +Уь + . если + Zk< 10; /5

й + Зй + - 10, если Xft+ft + 2:ft> 10,

0, если х+ + Zk< 10;

1, если x+yk + Zk>-10.

Здесь х и у означают значения десятичных цифр в данном разряде, z - перенос в данный разряд из соседнего младшего разряда, я и zji означают соответственно десятичную сумму в данном разряде и перенос в старший соседний разряд.

Так как мы хотим, чтобы при использовании кода 8421 правила сложения были бы идентичными правилами десятичного сложения, то нам необходимо в тех случаях, когда сумма в данном разряде становится, равной или большей десяти, записывать в данном разряде тетраду, соответствуЕощую цифре + + + г- 10, и организовывать перенос в соседнюю слева тетраду. Перенос в соседнюю тетраду из данной возникает только в том случае, когда число в данной



тетраде превысит значение 16. Таким образом, перенос из данного разряда двоично-десятичной записи в соседний разряд эквивалентен прибавлению 16 в данную тетраду. В соответствии с этим правила сложения в коде 8421 выглядят следующим образом:

к-Ук + Ч если + j; + < 10; Ч = {4 +Ук + 2;;,- 10 + 16 = + + 6, (6.12)

если -й + + 2:, > 10.

Taj< как при этом в вычислительной машине в данном разряде всегда получается правильный результат при jc+ 2 < 10, то для таких разрядов поправки после суммирования не требуется. В разрядах, где при суммировании в десятичной системе происходит * переполнение, при суммировании в коде, прямого замещения могут быть два случая. Если сумма в данном разряде меньше 16, то этот результат записан в виде тетрады с количественным эквивалентом, равным полученной системе. Из этой тетрады необходимо вычесть 10 и организовать перенос в соседний ра-*ряд. Для этого к полученной "тетраде нужно добавить поправку +6. Если-сумма в данном разряде оказалась большей чем 16, то перенос в соседнюю тетраду уже возник. Однако в этом случае в данном разряде стоит тетрада, соответствующая не + z-10,

а тетрада, соответствующая результату лг+/+г-16. Дя получения правильного результата необходимо к результату, получаемому в данном разряде, добавить поправку + 6.

Итак, при суммирцвании в коде прямого замещения правила сложения имеют следующий вид. " 1. Происходит потетрадное суммирование по правилам двоичного сложения с передачей переноса между тетрадами, если таковые возникают.

2. В те тетрады полученной суммы, в которых произошло десятичное переполнение, необходимо добавить поправку плюс шесть.

Показателем необходимости добавления поправки служит перенос из данной тетрады, возникший на первом этапе суммирования, или в случае его отсутствия наличие в данном разряде комбинации единиц в крайнем левом разряде и любом из двух" соседних правых разрядов.



0 ... 78798081828384 ... 101