Полусумматор и полный сумматор
← Все статьи

Полусумматор и полный сумматор

5 мин

Сложение двух битов

Сложение двух одиночных битов A и B вручную даёт четыре возможных результата: 0+0=0, 0+1=1, 1+0=1 и 1+1=10 в двоичной системе — то есть Сумма=0 с Переносом 1. Заметьте, что Сумма — это ровно XOR от A и B, а Перенос — ровно AND от A и B.

Полусумматор

Полусумматор — это именно такая схема: два входа (A, B), два выхода (Сумма, Перенос), построенная из одного вентиля XOR и одного AND.

  • Сумма = A ⊕ B
  • Перенос = A · B

Полный сумматор

Полусумматор не может сложить третий бит — перенос, приходящий из предыдущего, младшего разряда. Полный сумматор добавляет этот третий вход, Cin, давая Сумму и Cout:

  • Сумма = A ⊕ B ⊕ Cin
  • Cout = A·B + Cin·(A⊕B)
  • На практике полный сумматор строится из двух полусумматоров: первый складывает A и B, второй складывает результат с Cin, а два переноса объединяются вентилем OR.

Цепочка для N-битного сумматора

Соединив Cout одного полного сумматора с Cin следующего, получаем сумматор с последовательным переносом, способный складывать два N-битных числа. Встроенный блок «4-битный сумматор» в Boolflow — это именно четыре соединённых полных сумматора. Загрузите пример схемы, чтобы увидеть и полусумматор, и полный сумматор, построенные по вентилям, а затем проверьте распространение переноса инструментом «Таблица истинности».

Загрузить пример полусумматора / полного сумматора