Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Л-16 Основы булевой алгебры_рус.DOC
Скачиваний:
3
Добавлен:
01.03.2025
Размер:
346 Кб
Скачать
  1. Двоичная арифметика.

При выполнении арифметических операций над двоичными числами необходимо учитывать знак числа. С этой целью вводится дополнительный знаковый разряд z, который обычно располагается перед числовыми разрядами. Для положительных чисел значение знакового разряда z = 0, для отрицательных чисел z = 1.

Как и в десятичной системе счисления, операция сложения двух положительных n-разрядных чисел и выполняется поразрядно, начиная с младшего. Разрядные числа и суммируются по модулю 2 с учетом переноса из предыдущего (младшего) разряда в соответствии с таблицей 10.1. Сумма , если количество слагаемых со значением 1 нечетное, а перенос в последующий разряд = 1, если количество таких слагаемых не меньше двух.

Таблица 10.1 Пример 10.1.

Таблица истинности

одноразрядного сумматора

а5 ао

 

А2 = 0 0 0 1 1 1 = А10 = 7

+

В2 = 0 1 0 0 1 1 = В10 = 19

 __________ 

b5 bо

S2 = 0 1 1 0 1 0 = S10 = 26

_ _ _ 

Р2 Р1 Ро

0

0

0

0

1

1

1

1

0

0

1

1

0

0

1

1

0

1

0

1

0

1

0

1

0

1

1

0

1

0

0

1

0

0

0

1

0

1

1

1

Пример 10.2

Операцию вычитания в цифровой технике реализуют с помощью сложения. Для этого вычитаемое, включая его знаковый разряд, представляют в обратном коде. Если в результате суммирования в знаковом разряде образуется перенос, то эта единица прибавляется к младшему разряду суммы. Такое прибавление единицы называют циклическим переносом. Знак результата определяется получившимся значением знакового разряда .

В общем случае для выполнения операций сложения и вычитания удобно представлять отрицательные числа в обратном коде, а положительные – в прямом. Вычитание заменяется сложением с переводом вычитаемого в обратный код, если это число положительное, и в прямой код, если число отрицательное. Если результат операции получается отрицательный ( = 1), то он представлен в обратном коде, если положительным ( = 0) – в прямом коде.

Пример 10.3.

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

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

Умножение двоичных многоразрядных чисел в принципе не отличается от умножения десятичных чисел. Так как частное произведение многоразрядного числа на 1 равно этому числу, а умножение на 0 дает нули во всех разрядах, действие умножения сводится, таким образом, к операциям сдвига и сложения частных произведений. Очевидно, что при этом можно опустить промежуточный результат умножения на нуль и просто сдвинуть влево следующее промежуточное произведение (пример 10.4).

Двоичное деление тоже аналогично десятичному, но благодаря меньшему числу цифр в системе счисления операция получается более простой. Это видно из примера 10.5 (деление 1011012 = 4510 на 10012 = 910).

Деление сводится к операциям сдвига и вычитания.

Рассмотренные выше арифметические операции относятся к операциям над двоичными числами, представленными в форме с фиксированной запятой, когда число отображается в виде единого целого, каждый разряд его имеет неизменный вес. На практике, с целью расширения диапазона чисел, используют форму с плавающей запятой. Здесь число состоит из двух частей: мантиссы т, содержащей значение цифры числа, и порядка р, показывающего степень, в которую надо возвести основание счисления q, чтобы полученное при этом число, умноженное на мантиссу, давало истинное значение представляемого числа:

(10.3)

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

Рассмотрим третий вопрос лекции.