Изменения

Перейти к: навигация, поиск

Реализация вычитания сумматором

387 байт добавлено, 20:44, 22 декабря 2011
Нет описания правки
Что бы реализовать вычитание [[Каскадный сумматор|каскадным]] или [[Двоичный каскадный сумматор|двоичным каскадным сумматором]], нужно сложить на нём уменьшаемое с противоположным по знаку вычитаемым, так же как и при вычитании обычных чисел. Тогда полученная сумма будет разностью данных чисел.
<tex> \large x - y = x +(-y)</tex>
Инверсия знака записанного в двоичном виде числа происходит точно так же, как и в [[Представление целых чисел: прямой код, код со сдвигом, дополнительный код#Дополнительный код|дополнительном коде]].
!<math> \mathbf {\color{Blue}T} </math>
|бит отвечающий за знак операции
 '''T''' подключён к '''C<small>0</small>''' 0-вому биту переноса в сумматоре
|<center>'''0''' если <tex> \large S = A + B</tex><br />'''1''' если <tex> \large S = A - B</tex></center>
|-
|[[Сумматор|блоки]] [[Каскадный сумматор|каскадного]] или [[Двоичный каскадный сумматор|двоичного каскадного]] сумматора
|[[Файл:Full_Adder.png|250px|Блок сумматор]]
|-
!<math> \mathbf {\color{Black}\mbox{C}_\mathrm{0}} </math>
|Изначально ненужный бит в сумматоре,
однако он [[Реализация вычитания сумматором#Оптимизация|полезен при вычитании]].
|
В последующих блоках
в бит переноса подаётся
старший разряд
предыдущего суммирования.
|}
|[[Файл:Arithmometer_SUM_SUB.png|400px|Арифмометр]]
120
правок

Навигация