V našem prejšnjem razdelku smo spoznali različne komplemente, kot so komplement 1, komplement 2, komplement 9 in komplement 10 itd. V tem razdelku se bomo naučili izvajati aritmetične operacije, kot sta seštevanje in odštevanje z uporabo komplementa 1. Seštevanje in odštevanje lahko izvajamo z uporabo komplementa 1, 2, 9 in 10.
Seštevanje z uporabo komplementa 1
Možni so trije različni primeri, ko seštejemo dve binarni števili, ki so naslednji:
Primer 1: seštevek pozitivnega števila z negativnim številom, ko ima pozitivno število večjo velikost.
Najprej izračunajte komplement 1 danega negativnega števila. Seštejte z danim pozitivnim številom. Če dobimo end-around prenos 1, se doda k LSB.
Primer: 1101 in -1001
- Najprej poiščite komplement 1 negativnega števila 1001. Če želite najti komplement 1, spremenite vse 0 v 1 in vse 1 v 0. Komplement 1 števila 1001 je 0110.
- Sedaj seštejte obe številki, tj. 1101 in 0110;
1101+0110=1 0011 - Če seštejemo obe številki, dobimo prenos na koncu 1. Ta prenos na koncu dodamo k LSB 0011.
0011+1=0100
Primer 2: Seštevanje pozitivne vrednosti z negativno vrednostjo v primeru, da ima negativno število višjo velikost.
Najprej izračunajte komplement 1 negativne vrednosti. Seštejte ga s pozitivnim številom. V tem primeru nismo dobili končnega prenosa. Torej, vzemite komplement 1 rezultata, da dobite končni rezultat.
Opomba: rezultat je negativna vrednost.
Primer: 1101 in -1110
- Najprej poiščite komplement 1 negativnega števila 1110. Torej, da bi našli komplement 1, spremenimo vse 0 v 1 in vse 1 v 0. Komplement 1 števila 1110 je 0001.
- Sedaj seštejte obe številki, tj. 1101 in 0001;
1101+0001= 1110 - Zdaj poiščite komplement 1 rezultata 1110, ki je končni rezultat. Torej je komplement 1 rezultata 1110 0001, pred številko pa dodamo negativni predznak, da lahko ugotovimo, da gre za negativno število.
Primer 3: Seštevanje dveh negativnih števil
V tem primeru najprej poiščite komplement 1 obeh negativnih števil, nato pa oba ta komplementna števila seštejemo. V tem primeru vedno dobimo end-around prenos, ki se doda k LSB, za pridobitev končnega rezultata pa vzamemo komplement 1 rezultata.
Opomba: rezultat je negativna vrednost.
Primer: -1101 in -1110 v petbitnem registru
- Najprej poiščite komplement 1 negativnih števil 01101 in 01110. Torej, da bi našli komplement 1, spremenimo vse 0 v 1 in vse 1 v 0. Komplement 1 števila 01110 je 10001, 01101 pa 10010.
- Zdaj seštejemo obe komplementarni števili, tj. 10001 in 10010;
10001+10010= 1 00011 - Če seštejemo obe številki, dobimo prenos na koncu 1. Ta prenos na koncu dodamo k LSB 00011.
00011+1=00100 - Zdaj poiščite komplement 1 rezultata 00100, ki je končni odgovor. Torej je komplement 1 rezultata 00100 110111 in pred številko dodajte negativni predznak, da lahko ugotovimo, da je negativno število.
Odštevanje z uporabo komplementa 1
To so naslednji koraki za odštevanje dveh binarnih števil z uporabo komplementa 1
- V prvem koraku poiščite komplement 1 subtrahenda.
- Nato dodajte komplementno število z minuendom.
- Če imate prenos, dodajte prenos njegovemu LSB. Sicer vzemite komplement 1 rezultata, ki bo negativen
Opomba: Odštevana vrednost se vedno odšteje od zmanjšanega.
Primer 1: 10101 - 00111
Vzamemo komplement 1 subtrahenda 00111, kar dobi 11000. Sedaj jih seštejte. Torej,
10101+11000 =1 01101.
V zgornjem rezultatu dobimo prenosni bit 1, zato ga dodajte LSB danega rezultata, tj. 01101+1=01110, kar je odgovor.
Primer 2: 10101 - 10111
Vzamemo komplement 1 subtrahenda 10111, kar dobi 01000. Sedaj seštejte obe števili. Torej,
10101+01000 =11101.
V zgornjem rezultatu nismo dobili nosilca. Torej izračunajte komplement 1 rezultata, tj. 00010, ki je negativno število in končni odgovor.