Уолльямс, Дэвид
- 1 year ago
- 0
- 0
В электронике вычитатель может быть выполнен, используя такой же подход, как и в сумматоре .
Возможны как минимум два вида вычитателей:
Как и в сумматоре, в большинстве случаев вычислений многобитных чисел, в выполнении вычитания для каждого разряда участвуют три операнда: уменьшаемое ( ), первое вычитаемое ( ) и второе вычитаемое ( ) - бит займа в предыдущий (менее значащий) разряд вычитателя. Два выхода являются битом разности ( ) и битом займа из i+1 разряда ( ) .
Таблица истинности для двоичного вычитателя: f (11,10,110100010010110) 2 (x,y,z) = f (3,2,55446) 10 (x,y,z)
X | Y | Z(N-1) |
R=X
Y
Z=
f (3,1,150) 10 (x,y,z) |
Z(N+1)=
f (3,1,216) 10 (x,y,z) |
---|---|---|---|---|
0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 | 1 |
0 | 1 | 0 | 1 | 1 |
0 | 1 | 1 | 0 | 1 |
1 | 0 | 0 | 1 | 0 |
1 | 0 | 1 | 0 | 0 |
1 | 1 | 0 | 0 | 0 |
1 | 1 | 1 | 1 | 1 |
Z(N+1) - бит займа из n+1 разряд
Z(N-1) - бит займа в n-1 разряда, второе вычитаемое
Для уменьшения стоимости вычитатель обычно выполняется внутри двоичного сумматора. Сумматор-вычитатель снабжается переключателем сложение/вычитание.
Вычитатель в дополнительных кодах строится на обычном сумматоре с аппаратным получением кода второго дополнения.
Процесс двоичного вычитания с использованием обычного сумматора и с аппаратным получением кода второго дополнения описан ниже
.
При вычитании на обычном сумматоре для второго операнда используется стандартная запись второго дополнения (
дополнительный код
).
Чтобы получить первое дополнение, второй операнд инвертируется.
Чтобы получить второе дополнение, к инверсии второго операнда добавляется единица, используя вход переноса.