Вычитатель

Материал из Seo Wiki - Поисковая Оптимизация и Программирование

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


В электронике вычитатель может быть выполнен, используя такой же подход, как и в сумматоре.

Возможны как минимум два вида вычитателей:

  1. Вычитатель в прямых кодах.
  2. Вычитатель в дополнительных кодах, на обычном сумматоре с аппаратным получением кода второго дополнения

Содержание

Вычитатель в прямых кодах

Как и в сумматоре, в большинстве случаев вычислений многобитных чисел, в выполнении вычитания для каждого разряда участвуют три операнда: уменьшаемое (<math>X_i</math>), первое вычитаемое (<math>Y_i</math>) и второе вычитаемое (<math>B_i</math>) - бит займа в предыдущий (менее значащий) разряд вычитателя. Два выхода являются битом разности (<math>D_i</math>) и битом займа из i+1 разряда (<math>B_{i+1}</math>)[1].

<math>D_i = X_i \oplus Y_i \oplus B_i=</math> f(3,1,150)10(Xi,Yi,Bi)
карта Карно <math>B_i(1,2,3,7)</math>
<math>\ B_{i+1} =</math> f(3,1,216)10(Xi,Yi,Bi)

Таблица истинности для двоичного вычитателя: f(11,10,110100010010110)2(x,y,z)=f(3,2,55446)10(x,y,z)

XYZ(N-1)R=X <math>\oplus</math> Y <math>\oplus</math>Z=
f(3,1,150)10(x,y,z)
Z(N+1)=
f(3,1,216)10(x,y,z)
00000
10010
01010
11001
00111
10100
01101
11111

Z(N+1) - бит займа из n+1 разряд
Z(N-1) - бит займа в n-1 разряда, второе вычитаемое
Для уменьшения стоимости вычитатель обычно выполняется внутри двоичного сумматора. Сумматор-вычитатель снабжается переключателем сложение/вычитание.

Вычитатель в дополнительных кодах

Вычитатель в дополнительных кодах строится на обычном сумматоре с аппаратным получением кода второго дополнения.
Процесс двоичного вычитания с использованием обычного сумматора и с аппаратным получением кода второго дополнения описан ниже[2][3].
При вычитании на обычном сумматоре для второго операнда используется стандартная запись второго дополнения (дополнительный код).
Чтобы получить первое дополнение, второй операнд инвертируется.
Чтобы получить второе дополнение, к инверсии второго операнда добавляется единица, используя вход переноса.

<math>-B = \bar B + 1</math> (определение отрицания второго дополнения)


<math>\begin{alignat}{2}

A - B & = A + (-B) \\ & = A + \bar B + 1 \\ \end{alignat}</math>

См. также

Ссылки

  1. http://alpha3300.karelia.ru/koi/posob/log_basis/vichet.html Логические основы ЭВМ. Двоичное вычитание.
  2. http://alpha3300.karelia.ru/koi/posob/log_basis/vichet2.html Логические основы ЭВМ. Использование сумматоров для вычитания.
  3. http://www.pedsovet.info/info/pages/referats/info_00025.htm Сумматоры. Вычитатель
ar:طارح

en:Subtractor ko:감산기 id:Pengurang biner pl:Subtraktor th:วงจรลบ

Личные инструменты

Served in 0.088 secs.