Учебники

Цифровые схемы — двоичная арифметика со знаком

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

Добавление двух подписанных двоичных чисел

Рассмотрим два двоичных числа со знаком A и B, которые представлены в виде дополнения 2. Мы можем выполнить сложение этих двух чисел, что аналогично сложению двух беззнаковых двоичных чисел. Но, если результирующая сумма содержит результат из знакового бита, отбросьте (игнорируйте) его, чтобы получить правильное значение.

Если полученная сумма положительна, вы можете определить ее величину напрямую. Но, если результирующая сумма отрицательна, то возьмем 2-е дополнение к ней, чтобы получить величину.

Пример 1

Давайте выполним сложение двух десятичных чисел +7 и +4, используя метод дополнения 2.

Представления дополнения 2 по +7 и +4 с 5 битами показаны ниже.

(+7) 10 = (00111) 2

(+4) 10 = (00100) 2

Сложение этих двух чисел

(+7) 10 + (+ 4) 10 = (00111) 2 + (00100) 2

⇒ (+7) 10 + (+ 4) 10 = (01011) 2 .

Результирующая сумма содержит 5 битов. Таким образом, нет смысла от знака бит. Знаковый бит «0» указывает, что результирующая сумма является положительной . Итак, величина суммы равна 11 в десятичной системе счисления. Следовательно, сложение двух положительных чисел даст другое положительное число.

Пример 2

Давайте выполним сложение двух десятичных чисел -7 и -4, используя метод дополнения 2.

Представление дополнения 2 -7 и -4 с 5 битами показано ниже.

(−7) 10 = (11001) 2

(−4) 10 = (11100) 2

Сложение этих двух чисел

(−7) 10 + (−4) 10 = (11001) 2 + (11100) 2

⇒ (−7) 10 + (−4) 10 = (110101) 2 .

Результирующая сумма содержит 6 битов. В этом случае перенос получен из знакового бита. Итак, мы можем удалить это

Результирующая сумма после удаления переноса составляет (−7) 10 + (−4) 10 = (10101) 2 .

Знаковый бит «1» указывает, что результирующая сумма является отрицательной . Итак, взяв 2-е дополнение к нему, мы получим величину результирующей суммы как 11 в десятичной системе счисления. Следовательно, добавление двух отрицательных чисел даст другое отрицательное число.

Вычитание двух подписанных двоичных чисел

Рассмотрим два двоичных числа со знаком A и B, которые представлены в виде дополнения 2. Мы знаем, что 2 положительного числа дает отрицательное число. Таким образом, всякий раз, когда мы должны вычесть число B из числа A, затем взять 2 дополнения B и добавить его к A. Таким образом, математически мы можем записать это как

A — B = A + (дополнение 2 к B)

Точно так же, если мы должны вычесть число A из числа B, затем взять 2 дополнения A и добавить его к B. Таким образом, математически мы можем записать это как

B — A = B + (дополнение 2 к A)

Таким образом, вычитание двух двоичных чисел со знаком похоже на сложение двух двоичных чисел со знаком. Но мы должны взять 2-е дополнение числа, которое должно быть вычтено. Это преимущество техники дополнения 2. Следуйте, те же правила сложения двух знаковых двоичных чисел.

Пример 3

Давайте выполним вычитание двух десятичных чисел +7 и +4, используя метод дополнения 2.

Вычитание этих двух чисел

(+7) 10 — (+4) 10 = (+7) 10 + (−4) 10 .

Представление дополнения 2 по +7 и -4 с 5 битами показано ниже.

(+7) 10 = (00111) 2

(+4) 10 = (11100) 2

⇒ (+7) 10 + (+4) 10 = (00111) 2 + (11100) 2 = (00011) 2

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

(+7) 10 + (+4) 10 = (00011) 2

Знаковый бит «0» указывает, что результирующая сумма является положительной . Таким образом, его величина равна 3 в десятичной системе счисления. Следовательно, вычитание двух десятичных чисел +7 и +4 равно +3.

Пример 4

Давайте выполним вычитание двух десятичных чисел +4 и +7, используя метод дополнения 2.

Вычитание этих двух чисел

(+4) 10 — (+7) 10 = (+4) 10 + (−7) 10 .

Представление дополнения 2 +4 и -7 с 5 битами показано ниже.

(+4) 10 = (00100) 2

(-7) 10 = (11001) 2

⇒ (+4) 10 + (-7) 10 = (00100) 2 + (11001) 2 = (11101) 2

Здесь перенос не получается из знака бита. Знаковый бит «1» указывает, что результирующая сумма является отрицательной . Итак, взяв 2-е дополнение к нему, мы получим величину результирующей суммы как 3 в десятичной системе счисления. Следовательно, вычитание двух десятичных чисел +4 и +7 равно -3.