Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lekcii_new_ok.doc
Скачиваний:
140
Добавлен:
10.03.2016
Размер:
9.43 Mб
Скачать

§ 4.7 Арифметические операции над десятичными числами (двоично-десятичные сумматоры)

Для операций с десятичными числами каждая цифра от 0 до 9 представляется двоичной тетрадой и далее операции производятся над тетрадами как над двоичными числами. Такое представление десятичных цифр получило название двоично-десятичного кода, который относится к классу взвешенных кодов.

Очевидно, что для представления десяти цифр необходим 4-х разрядный двоичный код.

Таблица соответствия двоичных и десятичных цифр

Десятичные цифры

Двоичный код

Двоично-десятичный код

а3

а2

а1

а0

Тетрады

Тетрады

0

0

0

0

0

0

0

0

0

1

0

0

0

1

0

0

0

1

···

···

···

···

9

1

0

0

1

1

0

0

1

10

1

0

1

0

0

0

0

1

0

0

0

0

···

···

···

···

15

1

1

1

1

0

0

0

1

0

1

0

1

Например: А → 75, В → 29

Из таблицы видно, что тетрады двоичного кода, начиная с 1010 и до 1111 не используются (назовем их запрещенными). Следовательно, при суммировании тетрад, начиная с 0000 и заканчивая 1001, в итоге могут появиться запрещенные тетрады, которые приведут к неверному результату.

+

0

1

0

0

0

1

0

1

0

0

1

0

1

0

0

1

0

1

1

0

1

1

1

0

6

14

0

1

1

0

-

доп. код

1

0

1

0

0

0

1

1

1

0

1

0

0

7

4

Из примера видно, что тетрада 1110 – запрещенная, и оказалась с избытком в десять. Потребовалась коррекция вычитанием 10, представленной в дополнительном коде, и переносом единицы в следующую тетраду. На основе этих рассуждений можно построить сумматор для сложения одноразрядных десятичных чисел, представленных двоичными тетрадами.

А → 5, В → 9

0

1

0

1

1

0

0

1

+

1

1

1

0

0

1

1

0

(10 в доп. коде)

1

0

1

0

0

1

4

Из схемы видно, что если в результате суммирования получается разрешенная тетрада, то на выходе логической схемы формируется ноль, и, следовательно, разряды bi во втором сумматоре не окажут влияние на разряды ai, поэтому результат суммирования в первом сумматоре проходит без изменения.

УГО

двоично-

десятичного

сумматора:

При вычитании двоично-десятичных чисел используются преобразователи вычитаемого числа В в дополнение до 9 (фактически получение обратного кода двоичной тетрады).

W=9-B

Функционирование такого преобразования описывается таблицей дополнений:

B

b3

b2

b1

b0

w3

w2

w1

w0

W

0

0

0

0

0

1

0

0

1

9

1

0

0

0

1

1

0

0

0

8

2

0

0

1

0

0

1

1

1

7

···

···

···

···

9

1

0

0

1

0

0

0

0

0

Составим по таблице диаграммы Вейча.

СигналSUB – сигнал вычитания:

если SUB=0 – идет сложение

если SUB=1 – вычитание.

Сигнал Z – сигнал установки схемы в нулевое состояние.

Преобразователь выполняет следующую функцию:

F =

Ai при SUB=0

9 - Ai при SUB=1

Наращивание разрядности по тетрадам происходит присоединением выхода С1 ко входу С0 следующего разряда.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]