Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Промышленные технологии

Двоичное вычитание с использованием двухкратного дополнения

Двоичное вычитание можно выполнять классическим заимствованием бит, но проще — через арифметику двухкратного дополнения. Преобразуя вычитаемое в отрицательную двоичную форму и складывая, операция сводится к одному двоичному сложению.

Дважды дополнительный код позволяет кодировать отрицательные числа в той же разрядности, что и положительные, используя старший «бит отрицательного веса». При сложении положительного и отрицательного числа этот бит ведёт себя как отрицательный вес, фактически выполняя вычитание.

Пример 1: 7₁₀ − 5₁₀

Представим в двухкратном дополнении с тремя бит данными и одним знаковым:

положительная семь = 0111₂
отрицательная пять = 1011₂

Складываем:

  1111 ← Переносы
0111
+ 1011
------
10010
|
Отбрасываем переполнение
Результат = 0010₂

Переполненный бит отбрасывается, так как старшая позиция — отрицательный вес (−8). Итоговый 4-битовый образец 0010₂ равен десятичному 2, подтверждая 7 − 5 = 2.

Пример 2: 18₁₀ + (−25)₁₀

Определим нужную разрядность. Максимальный модуль — 25, требует 5 бит; добавим знаковый — итого 6 бит.

Представим +25 и его двухкратное дополнение:

+25₁₀ = 011001₂ (6 бит)
Однократное дополнение 11001₂ = 100110₂
Прибавить 1 → Дважды доп. = 100111₂
−25₁₀ = 100111₂

Положительные 18:

18₁₀ = 010010₂

Складываем:

  11 ← Переносы
100111
+ 010010
------
111001

Переполнения нет, результат 111001₂ остаётся. Старший бит 1 указывает на отрицательное значение в двухкратном дополнении. Обратный перевод в десятичное:

(1 × −32) + (1 × 16) + (1 × 8) + (1 × 1) = −7

Таким образом, 18 + (−25) = −7, как и ожидалось.

СВЯЗАННЫЕ РАБОЧИЕ ЛИСТЫ:

Промышленные технологии

  1. Электроника: практичная наука для всех
  2. Настройка домашней электроника-лаборатории: инструменты, рабочая зона и расходники
  3. Мастерство вольтметра: точное измерение напряжения стало простым
  4. Мастерство измерений омметром: практическое руководство по тестированию сопротивления
  5. Сборка и траблшутинг базовой 6-вольтовой батарейно-ламповой цепи
  6. 3-битный двоичный счетчик на таймере 555 и триггерах 4027
  7. Десятичная и двоичная системы: разрядный вес, эффективность и преобразование
  8. Восьмеричная и шестнадцатеричная системы: практическое руководство для инженеров
  9. Эффективная сборка ARM-контейнеров на x86 системах
  10. Создание первого Go-приложения на PLCnext: руководство для начинающих