În secțiunea anterioară, am învățat despre diferite complemente, cum ar fi complementul la 1, complementul 2, complementul 9 și complementul 10, etc. În această secțiune, vom învăța să efectuăm operații aritmetice precum adunarea și scăderea folosind complementul la 1. Putem efectua adunarea și scăderea folosind complementul 1, 2, 9 și 10.
Adunarea folosind complementul 1
Există trei cazuri diferite posibile când adăugăm două numere binare care sunt după cum urmează:
Cazul 1: Adunarea numărului pozitiv cu un număr negativ atunci când numărul pozitiv are o magnitudine mai mare.
Inițial, calculați complementul 1 al numărului negativ dat. Însumați cu numărul pozitiv dat. Dacă obținem transportul final 1, acesta este adăugat la LSB.
Exemplu: 1101 și -1001
- Mai întâi, găsiți complementul 1 al numărului negativ 1001. Așadar, pentru a găsi complementul 1, schimbați toate 0 la 1 și toate 1 la 0. Complementul 1 al numărului 1001 este 0110.
- Acum, adăugați ambele numere, adică 1101 și 0110;
1101+0110=1 0011 - Adunând ambele numere, obținem sfârșitul în jurul valorii de transport 1. Adăugăm acest capăt în jurul transportului la LSB-ului 0011.
0011+1=0100
Cazul 2: Adăugarea unei valori pozitive cu o valoare negativă în cazul în care numărul negativ are o magnitudine mai mare.
Inițial, calculați complementul 1 al valorii negative. Însumați-l cu un număr pozitiv. În acest caz, nu am primit transportul final. Deci, luați complementul 1 al rezultatului pentru a obține rezultatul final.
Notă: rezultatul este o valoare negativă.
Exemplu: 1101 și -1110
- Mai întâi găsiți complementul 1 al numărului negativ 1110. Deci, pentru a găsi complementul 1, schimbăm tot 0 în 1 și toți 1 în 0. Complementul 1 al numărului 1110 este 0001.
- Acum, adăugați ambele numere, adică 1101 și 0001;
1101+0001= 1110 - Acum, găsiți complementul 1 al rezultatului 1110 care este rezultatul final. Deci, complementul 1 al rezultatului 1110 este 0001 și adăugăm un semn negativ înaintea numărului, astfel încât să putem identifica că este un număr negativ.
Cazul 3: Adunarea a două numere negative
În acest caz, găsiți mai întâi complementul 1 al ambelor numere negative și apoi adăugăm ambele numere complementare. În acest caz, obținem întotdeauna transportul final, care se adaugă la LSB, iar pentru obținerea rezultatului final, luăm complementul 1 al rezultatului.
Notă: rezultatul este o valoare negativă.
Exemplu: -1101 și -1110 în registru de cinci biți
- În primul rând, găsiți complementul 1 al numerelor negative 01101 și 01110. Deci, pentru a găsi complementul lui 1, schimbăm toate 0 la 1 și toate 1 la 0. Complementul 1 al numărului 01110 este 10001, iar 01101 este 10010.
- Acum, adunăm ambele numere de complement, adică 10001 și 10010;
10001+10010= 1 00011 - Adunând ambele numere, obținem transportul final 1. Adăugăm acest transport final la LSB de 00011.
00011+1=00100 - Acum, găsiți complementul 1 al rezultatului 00100 care este răspunsul final. Deci, complementul 1 al rezultatului 00100 este 110111 și adăugați un semn negativ înaintea numărului, astfel încât să putem identifica că este un număr negativ.
Scăderea folosind complementul la 1
Aceștia sunt următorii pași pentru a scădea două numere binare folosind complementul la 1
- În primul pas, găsiți complementul 1 al subtraendului.
- Apoi, adăugați numărul complementului cu minuend.
- Dacă ai un carry, adaugă carry-ul la LSB-ul său. În caz contrar, luați complementul 1 al rezultatului care va fi negativ
Notă: Valoarea subtrahend este întotdeauna scăzută din minuend.
Exemplul 1: 10101 - 00111
Luăm complementul 1 al subtraendului 00111, care iese 11000. Acum, însumăm-le. Asa de,
10101+11000 =1 01101.
În rezultatul de mai sus, obținem bitul de transport 1, așa că adăugați acesta la LSB al unui rezultat dat, adică 01101+1=01110, care este răspunsul.
Exemplul 2: 10101 - 10111
Luăm complementul 1 al subtraendului 10111, care iese 01000. Acum, adunăm ambele numere. Asa de,
10101+01000 =11101.
În rezultatul de mai sus, nu am primit bitul de transport. Deci, calculați complementul 1 al rezultatului, adică 00010, care este numărul negativ și răspunsul final.