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

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

Сложение двух двоичных чисел со знаком

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

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

Пример 1

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

В 2’s complement представления +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' указывает, что результирующая сумма равнаpositive. Итак, величина суммы в десятичной системе счисления равна 11. Следовательно, сложение двух положительных чисел даст еще одно положительное число.

Пример 2

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

В 2’s complement Представление -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' указывает, что результирующая сумма равна negative. Итак, взяв двойное дополнение, мы получим величину результирующей суммы как 11 в десятичной системе счисления. Следовательно, сложение двух отрицательных чисел даст еще одно отрицательное число.

Вычитание двух двоичных чисел со знаком

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

A - B = A + (2's complement of B)

Точно так же, если нам нужно вычесть число A из числа B, тогда возьмем двойное дополнение к A и добавим его к B. Итак, mathematically мы можем написать это как

B - A = B + (2's complement of A)

Итак, вычитание двух двоичных чисел со знаком аналогично сложению двух двоичных чисел со знаком. Но мы должны взять два дополнения к числу, которое предполагается вычесть. Этоadvantage2-х комплементарной техники. Следуйте тем же правилам сложения двух двоичных чисел со знаком.

Пример 3

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

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

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

В 2’s complement Представление +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' указывает, что результирующая сумма равна positive. Итак, его величина в десятичной системе счисления равна 3. Следовательно, вычитание двух десятичных чисел +7 и +4 равно +3.

Пример 4

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

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

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

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

(+4) 10 = (00100) 2

(-7) 10 = (11001) 2

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

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