Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Операция вычитания



Выполнение операции вычитания в двоичной системе счисления осуществляется по тем же правилам, что и в десятичной: 0 – 0 = 0; 1 – 1 = 0; 1 – 0 = 1; 0 – 1 = 1 и при этом осуществляется заем из старшего разряда. Таблица истинности операции вычитания приведена на рисунке 5.46а.

Анализ таблицы истинности показывает, что "разность" реализуется функцией "исключающее "ИЛИ". Для получения сигнала "заем" необходимо проинвертировать уменьшаемое и затем умножить его с вычитаемым. Схема полувычитателя и его условное обозначение приведены на рисун-
ке 5.45б, в.

А В Разность     Заем
       
       
       
       

а б в

а – таблица истинности вычитания двух одноразрядных чисел; б – схема полувычитателя; в – условное обозначение

Рисунок 5.45 – Полувычитатель

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

Х1 - Х2 = Х1 + (-Х2).

Чтобы выполнить операцию в таком виде, Х2 представляют в дополнительном коде и слаживают с Х1.

Для представления числа в дополнительном коде: в знаковом разряде (он располагается перед старшим разрядом) записывается "1", а в цифровых разрядах "0" заменяют "1" и наоборот (это обратный код), затем в младшем разряде (для отрицательного числа) прибавляется "1". Для положительного числа дополнительный код совпадает с прямым.

Пример выполнения операции вычитания:

а) обычным способом: 7 ® 111

- -

5 ® 101

___ ____

2 010

б) с переводом вычитаемого в дополнительный код:

5 ® 0 101 - прямой 7 ® 0 111 -прямой

-5 ® 1 010 - обратный +

-5 ® 1 011 -дополнительный -5 ® 1 011 -дополнительный

_____________

2 ® 0 010

При выполнении операции самый старший разряд полученной пятиразрядной комбинации (переполняющий четырехразрядный регистр) отбрасывается. Результат выполнения операции получается в дополнительном коде. Для перевода числа из дополнительного кода с единицей в знаковом разряде (отрицательного) необходимо: 1) образовать дополнение до "1" путем замены всех единиц на нули и наоборот; 2) к полученному числу прибавить "1" в младшем разряде. В результате получится искомое двоичное число. Если в результате выполнения операции получилось число с "0" в знаковом разряде, то перевод не производится, так как для положительного числа прямой и дополнительный коды совпадают.

Пример перевода при выполнении вычитания 2 – 6 = -4

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

Х1 Х2 Y
     
     
     
     

б

Х1 Х2 Y
     
     
     
     

в

Х1 Х2 Y
     
     
     
     

а

г

а – схема; б – таблица истинности функции исключающее "ИЛИ"; в – таблица состояний исключающего "ИЛИ" когда на одном из входов "0";
г – таблица состояний исключающего "ИЛИ" когда на одном из входов "1".

Рисунок 5.46 – Сумматор-вычитатель

Реализация одной схемой сложения и вычитания осуществлен благодаря использованию на одном из входов сумматора схемы "исключающего "ИЛИ". На одни из входов D1, D2,D3 подается вычитаемое, а вторые входы объединены и на них при сложении подается "0" (при этом код числа не изменяется, см. рисунок 5.46.в), а при вычитании подается "1" (при этом код числа изменяется на обратный, см. рисунок 5.46г). Прибавление единицы в младшем разряде осуществляется ее подачей на вход переноса сумматора младшего разряда (D4).





Дата публикования: 2015-01-23; Прочитано: 822 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.009 с)...