Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
СОДЕРЖАНИЕ 3 (2).doc
Скачиваний:
28
Добавлен:
31.08.2019
Размер:
5.65 Mб
Скачать
      1. Вычисление двоично-десятичного кода обратной десятичной цифры

Рассмотрим вычисление обратной десятичной цифры в кодах 8421, 8431+6 и 8421+3.

Пусть X и Y взаимно обратные десятичные цифры. Тогда справедливо отношение

X+Y = 9.

Так как при кодировании цифр X и Y им приведены в соответствие двоичные числа и такие, что удовлетворяется равенство количественных эквивалентов,

;

,

где – смещение, целое со знаком, быть может, равное 0, то справедливо отношение

, (4-27)

позволяющее вычислить код y обратной цифры вычитанием кода прямой цифры из константы 9+2b.

В (4-27) можно заменить операцию вычитания сложением (раздел 4.3.7). Для этого достаточно константу сложить с дополнением x, отбрасывая перенос из разряда с весом 8. Тогда

. (4-28)

Здесь – знак операции двоичной инверсии.

Заменив в (4-28) операцию сложения константы вычитанием ее дополнения, получим

. (4-29)

При вычислениях y по выражениям (4-27), (4-28) и (4-29) константы должны быть представлены в двоичной системе счисления, и, поскольку коды x и y содержат по 4 разряда, при выполнении операции сложения (вычитания) разряд с весом 16 вычислять не следует.

При кодировании десятичных цифр в коде 8421 смещение . Подставив значение b в (4-27), (4-28) и (4-29) и представив константы в двоичной системе счисления, найдем три варианта вычисления кода обратной цифры:

; (4-30)

; (4-31)

. (4-32)

Вычисление кода следует выполнять по правилам справедливым в двоичной системе счисления. Например, пусть , код . Тогда код y цифры обратной X, вычисляемый по выражениям (4-30), (4-31) и (4-32) будет

;

;

.

При сложении и вычитании перенос и заем из старшего разряда следует отбрасывать.

Поскольку константы 1010 и 0110 имеют 0 в младшем разряде, то младший разряд x можно копировать в y и выполнять сложение (вычитание) только старших разрядов x с константами 1012 и 0112, что упрощает вычисления.

При кодировании десятичных цифр в коде 8421+6 смещение . Подставив значение b в (4-27), (4-28) и (4-29) и представив константы в двоичной системе счисления, найдем варианты вычисления кода обратной цифры:

;

;

.

Поскольку коды x и y имеют 4 разряда, можно в константах 10101 и 10110 отбросить старшие разряды и при вычитании и сложении не вычислять заем и перенос в пятый разряд, что упростит вычисления. Тогда:

; (4-33)

; (4-34)

. (4-35)

Например, пусть , код . Тогда код цифры обратной X будет:

;

;

.

Поскольку константы 0110 и 1010 имеют 0 в младшем разряде, то младший разряд можно копировать в y и выполнять сложение (вычитание) только старших разрядов с константами 0112 и 1012, что упрощает вычисления.

При кодировании десятичных цифр в коде 8421+3 смещение . Подставив значение b в (4-27), (4-28) и (4-29) и представив константы в двоичной системе счисления, найдем варианты вычисления кода обратной цифры:

; (4-36)

;

.

Так как старший разряд константы 10000 можно отбросить, а прибавление или вычитание нуля можно не выполнять, то

. (4-37)

Правила вычисления обратной цифры в коде 8421+3 вытекающие из (4-36) и (4-37) аналогичны правилам вычисления обратных цифр двоичного числа, что существенно упрощает вычисление кода обратной цифры в системе 8421+3. Это свойство кода 8421+3 придает ему преимущества перед кодами 8421 и 8421+6, так как упрощает процедуры взаимного преобразования прямого и обратного кодов десятичных чисел и изменения знака обратного кода числа. Кроме того, системы взаимного преобразования прямого и обратного кодов и изменения знака двоичных чисел в обратном коде выполняют эти операции и над двоично-десятичными числами в коде 8421+3 без внесения в них каких-либо изменений.