Реализация вычитания сумматором — различия между версиями
(→Пример реализации вычитания сумматором) |
м (rollbackEdits.php mass rollback) |
||
(не показаны 2 промежуточные версии 2 участников) | |||
Строка 62: | Строка 62: | ||
*[[Реализация_булевой_функции_схемой_из_функциональных_элементов|Реализация булевой функции схемой из функциональных элементов]] | *[[Реализация_булевой_функции_схемой_из_функциональных_элементов|Реализация булевой функции схемой из функциональных элементов]] | ||
− | == | + | ==Источники информации== |
*[http://en.wikipedia.org/wiki/Subtractor Subtractor] | *[http://en.wikipedia.org/wiki/Subtractor Subtractor] | ||
*[http://www.play-hookey.com/digital/binary_subtraction.html Negative Numbers and Binary Subtraction] | *[http://www.play-hookey.com/digital/binary_subtraction.html Negative Numbers and Binary Subtraction] |
Текущая версия на 19:07, 4 сентября 2022
Содержание
Преобразование чисел для вычитания сумматором
Чтобы реализовать вычитание каскадным или двоичным каскадным сумматором, нужно сложить на нём уменьшаемое с противоположным по знаку вычитаемым, так же как и при вычитании обычных чисел. Тогда полученная сумма будет разностью данных чисел: .
Инверсия знака записанного в двоичном виде числа происходит точно так же, как и в дополнительном коде.
Данное число нужно инвертировать и прибавить к нему единицу:
.Например, число
будет записано как , так как , аОптимизация
Очевидно, что реализация преобразования в дополнительный код отдельным сумматором делает вычисление разности в два раза медленнее, чем вычисление суммы. Чтобы ускорить вычисления нужно воспользоваться первым битом переноса в сумматоре: для реализации суммы в него посылают ноль, а для реализации вычитания посылать в него единицу при вычитании и ноль при суммировании. Вместо того, чтобы инвертировать вычитаемое число, можно делать XOR бита первого переноса с каждым битом вычитаемого числа. Таким образом, полученная схема будет работать как для суммирования, так и для вычитания, и при этом вычитание не требует больше времени, чем сложение.
Схема реализации вычитания сумматором
Условные обозначения | Изображение схемы | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|