Obwody cyfrowe - podpisana arytmetyka binarna
W tym rozdziale omówimy podstawowe operacje arytmetyczne, które można wykonać na dowolnych dwóch liczbach binarnych ze znakiem przy użyciu metody dopełnienia do 2. Plikbasic arithmetic operations to dodawanie i odejmowanie.
Dodanie dwóch podpisanych liczb binarnych
Rozważ dwie liczby binarne A i B ze znakiem, które są przedstawione w postaci uzupełnienia do 2. Możemy wykonaćadditiontych dwóch liczb, co jest podobne do dodania dwóch liczb binarnych bez znaku. Jeśli jednak suma wynikowa zawiera bit wykonania ze znaku, odrzuć go (zignoruj), aby uzyskać poprawną wartość.
Jeśli suma wypadkowa jest dodatnia, możesz bezpośrednio określić jej wielkość. Ale jeśli otrzymana suma jest ujemna, weź uzupełnienie do 2, aby otrzymać wielkość.
Przykład 1
Wykonajmy addition dwóch liczb dziesiętnych +7 and +4 przy użyciu metody dopełnienia do 2.
Plik 2’s complement reprezentacje +7 i +4 z 5 bitami każdy pokazano poniżej.
(+7) 10 = (00111) 2
(+4) 10 = (00100) 2
Dodanie tych dwóch liczb to
(+7) 10 + (+ 4) 10 = (00111) 2 + (00100) 2
⇒ (+7) 10 + (+ 4) 10 = (01011) 2 .
Otrzymana suma zawiera 5 bitów. Tak więc nie ma wykonania z bitu znaku. Bit znaku „0” wskazuje, że otrzymana suma topositive. Tak więc suma wynosi 11 w systemie liczb dziesiętnych. Dlatego dodanie dwóch liczb dodatnich da kolejną liczbę dodatnią.
Przykład 2
Wykonajmy addition dwóch liczb dziesiętnych -7 i -4 przy użyciu metody dopełnienia do 2.
Plik 2’s complement reprezentacje -7 i -4 z 5 bitami każdy pokazano poniżej.
(−7) 10 = (11001) 2
(−4) 10 = (11100) 2
Dodanie tych dwóch liczb to
(−7) 10 + (−4) 10 = (11001) 2 + (11100) 2
⇒ (−7) 10 + (−4) 10 = (110101) 2 .
Otrzymana suma zawiera 6 bitów. W tym przypadku przeniesienie jest uzyskiwane z bitu znaku. Więc możemy to usunąć
Wynikowa suma po usunięciu przeniesienia wynosi (−7) 10 + (−4) 10 =(10101)2.
Bit znaku „1” wskazuje, że otrzymana suma to negative. Tak więc, biorąc uzupełnienie do 2, otrzymamy wielkość wynikowej sumy jako 11 w systemie liczb dziesiętnych. Dlatego dodanie dwóch liczb ujemnych da kolejną liczbę ujemną.
Odejmowanie dwóch podpisanych liczb binarnych
Rozważ dwie liczby binarne A i B ze znakiem, które są reprezentowane w postaci uzupełnienia do 2. Wiemy, że uzupełnienie liczby dodatniej do 2 daje liczbę ujemną. Tak więc, ilekroć musimy odjąć liczbę B od liczby A, weź uzupełnienie B do 2 i dodaj je do A. Więc,mathematically możemy to zapisać jako
A - B = A + (2's complement of B)
Podobnie, jeśli musimy odjąć liczbę A od liczby B, to weź uzupełnienie A do 2 i dodaj je do B. Więc, mathematically możemy to zapisać jako
B - A = B + (2's complement of A)
Tak więc odejmowanie dwóch liczb binarnych ze znakiem jest podobne do dodawania dwóch liczb binarnych ze znakiem. Ale musimy wziąć uzupełnienie do 2 liczby, która ma zostać odjęta. To jestadvantagetechnika uzupełnienia do 2. Postępuj zgodnie z tymi samymi zasadami dodawania dwóch liczb binarnych ze znakiem.
Przykład 3
Wykonajmy subtraction dwóch liczb dziesiętnych +7 and +4 przy użyciu metody dopełnienia do 2.
Odejmowanie tych dwóch liczb to
(+7) 10 - (+4) 10 = (+7) 10 + (−4) 10 .
Plik 2’s complement reprezentacje +7 i -4 z 5 bitami każdy pokazano poniżej.
(+7) 10 = (00111) 2
(+4) 10 = (11100) 2
⇒ (+7) 10 + (+4) 10 = (00111) 2 + (11100) 2 = (00011) 2
Tutaj przeniesienie uzyskane z bitu znaku. Więc możemy to usunąć. Wynikowa suma po usunięciu przeniesienia to
(+7) 10 + (+4) 10 =(00011)2
Bit znaku „0” wskazuje, że otrzymana suma to positive. Zatem wielkość tego wynosi 3 w systemie liczb dziesiętnych. Dlatego odjęcie dwóch liczb dziesiętnych +7 i +4 daje +3.
Przykład 4
Wykonajmy subtraction of dwie liczby dziesiętne +4 i +7 przy użyciu metody dopełnienia do 2.
Odejmowanie tych dwóch liczb to
(+4) 10 - (+7) 10 = (+4) 10 + (−7) 10 .
Plik 2’s complement reprezentacje +4 i -7 z 5 bitami każdy pokazano poniżej.
(+4) 10 = (00100) 2
(-7) 10 = (11001) 2
⇒ (+4) 10 + (-7) 10 = (00100) 2 + (11001) 2 = (11101) 2
Tutaj przeniesienie nie jest uzyskiwane z bitu znaku. Bit znaku „1” wskazuje, że otrzymana suma tonegative. Tak więc, biorąc uzupełnienie do 2, otrzymamy wielkość sumy wynikowej jako 3 w systemie liczb dziesiętnych. Dlatego odjęcie dwóch liczb dziesiętnych +4 i +7 wynosi -3.