logo

Adunarea și scăderea folosind complementul la 1

Î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

  1. 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.
  2. Acum, adăugați ambele numere, adică 1101 și 0110;
    1101+0110=1 0011
  3. 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

  1. 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.
  2. Acum, adăugați ambele numere, adică 1101 și 0001;
    1101+0001= 1110
  3. 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

  1. Î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.
  2. Acum, adunăm ambele numere de complement, adică 10001 și 10010;
    10001+10010= 1 00011
  3. Adunând ambele numere, obținem transportul final 1. Adăugăm acest transport final la LSB de 00011.
    00011+1=00100
  4. 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.