Критерии выбора системы счисления в ЭВМ. Кодирование чисел для выполнения арифметических операций в ЭВМ. Машинные алгоритмы умножения чисел в ЭВМ. Двоично-десятичные коды, страница 5

Код 8421 является взаимодополняемым до 15, это создает неудобство при суммировании чисел, приходится вводить поправку. Но имеется одно существенное достоинство, аддитивность, т.е. сумма кодов равна коду суммы.

Суммирование чисел с одинаковыми знаками в коде 8421:

1.  (a + b)<= 9.                 В этом случае никаких поправок вводить не надо.

2.  10<=(a + b) <= 15      В этом случае необходимо ввести поправку.

Наряду с формированием принудительной единицы переноса в старшую тетраду, в текущую тетраду добавляется поправка 0110 (равная 6 десятичной), которая формирует в тетраде результата 16-ричный перенос, уже учтенный схемой (игнорируется).

Перегонка “10” осуществляется коррекцией “6”

             1010

0110

             1 0000

 


1100

             0110

          1 0010

Сложение чисел с разными знаками.

1.  A-B>0

Сложение чисел с разными знаками осуществляется в обратном коде.

В результате  инверсии отрицательного числа в тетраду вносится дополнительные 15 единиц, а в результате переноса тетраду покидают 16 единиц. Следовательно, не хватает единицы. По линии циклического переноса единица переноса   знакового разряда  добавляется в последний разряд. 

В случае A-B<0 В результате  инверсии отрицательного числа в тетраду вносится дополнительные 15 единиц, а в результате повторной инверсии тетраду покидают 15 единиц.

В случае работы с количеством тетрад в числе > 1 Используется следующее правило:

Если результат положительный, то если из тетрады нет переноса, то заем в нее (коррекция +10).

Если результат отрицательный, то если из тетрады есть перенос, то заем в нее (коррекция +6).

Одноразрядный двоично-десятичный сумматор


Двоично-десятичные коды с избытком

1.  Этот код не весомозначный – недостаток.

2.  Этот код взаимодополняемый до 9.

Двоично-десятичные коды с избытком три.

Рассмотрим два случая:

1.  A+B<=9

Для получения ДДК с избытком три необходимо в каждую тетраду добавить избыточную тройку: A+3+B+3<=15

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

2.  A+B>=10

A+3+b+3>=16

В этом случае в результате переноса из тетрады уходят 16 единиц (10+3 – перенос и 3 – избыток результата). Следовательно, в результат необходимо добавить тройку.

Общее правило для суммирования – вычитания чисел в коде с избытком три:

Если из тетрады есть перенос, то в результат прибавим 3, иначе –отнимем 3.


            Пример:

A = 169                       0.0100   1001   1100

B = 378                       0.0110   1010   1011

       A+B = 547                       0.1011   0100   0111

 - 0011 +0011+0011

1000    0111   1010

5+3      4+3       7+3

Двоично-десятичные коды с избытком шесть.

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


6.Основные понятия и законы булевой алгебры

7. Способы представления булевых функций.

Пусть х – некоторая логическая переменная. Используя основные положения алгебры логики нетрудно убедиться в верности следующих правил:

x + 1 = 1                      x * x  = 0

x * 1 = x                      x + x = 1

x + 0 = x                      1 = 0

x * 0 = 0                      0 = 1

x + x = 1

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

Законы повторения:

x + x + x + x + x + … + x = x

x * x * x * x * x * … * x = x

Законы де Моргана:

x1x2 = x1 + x2

x1 + x2 = x1x2

и следствия из них:

x1x2 = x1 + x2

x1 + x2 = x1x2

Законы де Моргана и следствия из них справедливы для любого количества переменных.

Законы поглощения:

x1+x1x2 = x1

x1(x1+x2) = x1  

Закон склеивания:

x1x2 + x1x2 =  x1(x2 + x2) = x1

 

Некоторые определения

1.  Элементарная конъюнкция – это логическое произведение конечного множества переменных взятых с отрицанием или без него.