Tricky Circuit

Полусумматор: сумма и перенос

Крошечный двоичный калькулятор

Полусумматор складывает два бита, цифры 0 или 1. Бит суммы остаётся в этом разряде; бит переноса отправляет единицу в следующий разряд, где она стоит вдвое больше.

Открыть интерактивный опыт

ЭКСПЕРИМЕНТАЛЬНЫЙ СТОЛ

Меняй настройки схемы, предсказывай показания и проверяй решение задания. Это учебные модели; допущения объяснены в каждом уроке.

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

Открыть лабораторию в полном окне

Почему это работает

Идеальная двоичная логика: 0 — низкий уровень, 1 — высокий, а не измеренное напряжение. Питание, ток, нагрузка выхода и задержка не моделируются; рисунки показывают функции, а не выводы микросхем.

A и B — входы, T — обычная сумма, S — бит суммы, C — перенос. T = S + 2C. Два высоких входа дают T = 2, S = 0, C = 1: двоичное 10. ⊕ — XOR, Exclusive OR, исключающее ИЛИ: 1 при разных битах.

Сложность
  1. Собери · Собери

    Включи A = 0 и B = 1. Получи S = 1 и C = 0.

    Нужна подсказка?

    A = 0; B = 1 → S = 1; C = 0

  2. Исследуй · Измени входы

    Задай A = 1 и B = 1. Получи S = 0 и C = 1.

    Нужна подсказка?

    A = 1; B = 1 → S = 0; C = 1

  3. Реши сам · Реши задачу

    Задай A = 0 и B = 0. Получи S = 0 и C = 0.

    Нужна подсказка?

    A = 0; B = 0 → S = 0; C = 0

Дополнительные материалы и карточки схем

Крошечный двоичный калькулятор

Двух выходных огоньков достаточно для счёта от нуля до двух. Один показывает единицы, другой — двойки.

T = A + B; T = S + 2C; S = A ⊕ B; C = A × B

Два бита совместно кодируют весь ответ. Читай сначала перенос, затем сумму: их веса — два и один.

Полезная закономерность

Сумма следует XOR, перенос равен 1 только при двух входах 1. Одно сложение описывают две разные функции.

За пределами модели

Полусумматор не принимает перенос из предыдущего разряда. Следующий полный сумматор добавляет недостающий третий вход.

Ошибка, которой стоит избежать

Когда при 1 + 1 огонёк суммы гаснет, ответ не потерян. Часть результата в разряде двоек хранит перенос.

A = 1 и B = 1. Какой двоичный ответ верен?

  1. 01
  2. 10
  3. 11
Читать дальше

Всего две единицы: перенос 1, сумма 0. В порядке «перенос, сумма» получается 10.

Собери

Задай A = 0, B = 1. Всего 1, сумма 1, перенос 0.

T = 1; S = 1; C = 0

Измени входы

Задай A = 1, B = 1. Всего 2, сумма 0, перенос 1.

T = 2; S = 0; C = 1

Попробуй другой путь

Поменяй местами A и B для каждой пары. Ответ сложения не зависит от того, какой вход принёс первую единицу.

bob.cs.sonoma.edu