Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
методичка.doc
Скачиваний:
374
Добавлен:
30.04.2013
Размер:
824.32 Кб
Скачать

0.1000.0111.0101

Та же самая величина со знаком минус будет представлена:

[-875]пр. = 1.1000.0111.0101

[-875]обр. = 1.0001.0010.0100

[-875]доп. = 1.0001.0010.0101

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

Чтобы закончить первый раздел проектирования сумматора комбинационного типа, рассмотрим 6 примеров сложения 3-х разрядных десятичных чисел в коде 8421.

1)

+

249

+

0.0010.0100.1001

358

0.0011.0101.1000

607

0.0101.1010.0001

Есть "1" переноса и запрещённая в коде комбинация — требуется 2 коррекции:

+

0.0101.1010.0001

0110.0110

0.0110.0000.0111

Получен требуемый результат. Результат сохраняется.

2)

+

479

+

0.0100.0111.1001

-258

1.0111.0100.0001

221

+

1.1011.1011.1010

Коррекция

0110.0110.0110

10.0010.0010.0000

При сложении чисел в обратном коде "1" переноса из знакового разряда добавляется к младшему разряду результата:

+

1

0.0010.0010.0000

1

0.0010.0010.0001

Получен требуемый результат. Результат сохраняется.

3)

+

378

+

0.0011.0111.1000

-859

1.0001.0100.0000

-481

+

1.0101.0001.1000

Коррекция

0110

1.0101.0001.1000

Получен требуемый результат в обратном коде. В прямом коде этот результат будет иметь вид: 1.0100.1000.0001. Результат сохраняется.

4)

+

-452

+

1.0101.0100.0111

-377

1.0110.0010.0010

-829

+

0.1011.0110.1001

Коррекция

0110 1

+

1.0001.0110.1010

Коррекция

0110

1.0001.0111.0000

Получен требуемый результат. Результат сохраняется.

В примере введения коррекции в различные разряды разделено. В схемном варианте они вводятся практически одновременно, так как "1" переноса из знакового разряда приходит на вход младшей тетрады с очень малой задержкой по времени.

5) Переполнение разрядной сетки:

+

759

+

0.0111.0101.1001

878

0.1000.0111.1000

(1)637

+

0.1111.1101.0001

Коррекция

0110.0110.0110

1.0110.0011.0111

Признаком переполнения является отрицательный результат от сложения двух положительных величин.

6) Переполнение разрядной сетки:

+

-547

+

1.0100.0101.0010

-759

1.0010.0100.0011

-(1)303

+

0.0110.1001.0101

Коррекция

1

0.0110.1001.0110

Признаком переполнения является положительный результат от сложения двух отрицательных чисел.