U našem prethodnom odjeljku naučili smo o različitim komplementima kao što su komplement 1, komplement 2, komplement 9 i komplement 10, itd. U ovom odjeljku naučit ćemo izvoditi aritmetičke operacije kao što su zbrajanje i oduzimanje koristeći komplement 1. Možemo izvoditi zbrajanje i oduzimanje koristeći komplement 1, 2, 9 i 10.
Zbrajanje pomoću komplementa 1
Postoje tri različita moguća slučaja kada zbrajamo dva binarna broja, a to su:
Slučaj 1: Zbrajanje pozitivnog broja s negativnim brojem kada pozitivni broj ima veću veličinu.
Prvo izračunajte komplement 1 zadanog negativnog broja. Zbrojite sa zadanim pozitivnim brojem. Ako dobijemo end-around prijenos 1, on se dodaje LSB-u.
Primjer: 1101 i -1001
- Prvo pronađite komplement 1 negativnog broja 1001. Dakle, da biste pronašli komplement 1, promijenite sve 0 u 1 i sve 1 u 0. Komplement 1 broja 1001 je 0110.
- Sada zbrojite oba broja, tj. 1101 i 0110;
1101+0110=1 0011 - Zbrajanjem oba broja dobivamo end-around prijenos 1. Ovaj kraj oko prijenosa dodajemo LSB-u od 0011.
0011+1=0100
Slučaj 2: Zbrajanje pozitivne vrijednosti s negativnom vrijednošću u slučaju da negativni broj ima veću veličinu.
U početku izračunajte komplement 1 negativne vrijednosti. Zbroji to s pozitivnim brojem. U ovom slučaju nismo dobili end-around prijenos. Dakle, uzmite komplement 1 rezultata da biste dobili konačni rezultat.
Napomena: Rezultat je negativna vrijednost.
Primjer: 1101 i -1110
- Prvo pronađite komplement 1 negativnog broja 1110. Dakle, za pronalaženje komplementa 1, mijenjamo sve 0 u 1, a sve 1 u 0. Komplement 1 broja 1110 je 0001.
- Sada zbrojite oba broja, tj. 1101 i 0001;
1101+0001= 1110 - Sada pronađite komplement 1 rezultata 1110 koji je konačni rezultat. Dakle, komplement 1 rezultata 1110 je 0001, a ispred broja dodajemo negativni predznak kako bismo mogli identificirati da je to negativan broj.
Slučaj 3: Zbrajanje dvaju negativnih brojeva
U ovom slučaju, prvo pronađite komplement 1 za oba negativna broja, a zatim zbrajamo oba ova komplementna broja. U ovom slučaju uvijek dobivamo end-around prijenos koji se dodaje LSB-u, a za dobivanje konačnog rezultata uzimamo komplement 1 rezultata.
Napomena: Rezultat je negativna vrijednost.
Primjer: -1101 i -1110 u pet-bitnom registru
- Najprije pronađite komplement 1 negativnih brojeva 01101 i 01110. Dakle, da bismo pronašli komplement 1, mijenjamo sve 0 u 1, a sve 1 u 0. Komplement 1 broja 01110 je 10001, a 01101 je 10010.
- Sada zbrajamo oba komplementna broja, tj. 10001 i 10010;
10001+10010= 1 00011 - Zbrajanjem oba broja dobivamo end-around prijenos 1. Ovaj end-around prijenos dodajemo LSB-u od 00011.
00011+1=00100 - Sada pronađite komplement 1 rezultata 00100 koji je konačni odgovor. Dakle, komplement 1 rezultata 00100 je 110111 i dodajte negativan predznak ispred broja kako bismo mogli identificirati da je to negativan broj.
Oduzimanje pomoću komplementa 1
Ovo su sljedeći koraci za oduzimanje dva binarna broja pomoću komplementa 1
- U prvom koraku pronađite komplement 1 subtrahenda.
- Zatim dodajte broj komplementa s umanjenicom.
- Ako imate prijenos, dodajte prijenos njegovom LSB-u. Inače uzmite komplement 1 rezultata koji će biti negativan
Napomena: Vrijednost umanjenika uvijek se oduzima od umanjenika.
Primjer 1: 10101 - 00111 (prikaz, stručni).
Uzimamo komplement 1 od subtrahenda 00111, što daje 11000. Sada ih zbrojite. Tako,
10101+11000 =1 01101.
U gornjem rezultatu dobivamo prijenosni bit 1, pa ga dodajte LSB-u danog rezultata, tj. 01101+1=01110, što je odgovor.
Primjer 2: 10101 - 10111 (prikaz, stručni).
Uzimamo komplement 1 od subtrahenda 10111, što daje 01000. Sada zbrojite oba broja. Tako,
10101+01000 =11101.
U gornjem rezultatu, nismo dobili prijenosni bit. Dakle, izračunajte komplement 1 rezultata, tj. 00010, što je negativan broj i konačni odgovor.