logo

Sčítanie a odčítanie pomocou doplnku 2

V našej predchádzajúcej časti sme sa naučili, ako môžeme vykonávať aritmetické operácie, ako je sčítanie a odčítanie pomocou doplnku 1. V tejto časti sa naučíme vykonávať tieto operácie pomocou doplnku 2.

c náhodné číslo

Sčítanie pomocou doplnku 2

Keď sčítame dve binárne čísla pomocou doplnku 2, sú možné tri rôzne prípady, a to takto:

Prípad 1: Sčítanie kladného čísla so záporným číslom, keď má kladné číslo väčšiu veľkosť.

Najprv nájdite dvojkový doplnok daného záporného čísla. Sčítajte s daným kladným číslom. Ak dostaneme end-around carry 1, potom číslo bude kladné číslo a bit carry bude vyradený a zostávajúce bity sú konečným výsledkom.

Príklad: 1101 a -1001

  1. Najprv nájdite dvojkový doplnok záporného čísla 1001. Ak teda chcete nájsť dvojkový doplnok, zmeňte všetky 0 na 1 a všetky 1 na 0 alebo nájdite jedničkový doplnok k číslu 1001. Doplnok 1 k číslu 1001 je 0110 a pridajte 1 k LSB výsledku 0110. Takže dvojkový doplnok čísla 1001 je 0110+1=0111
  2. Pridajte obe čísla, t.j. 1101 a 0111;
    1101+0111=1 0100
  3. Sčítaním oboch čísel dostaneme end-around carry 1. End-around carry zahodíme. Takže súčet oboch čísel je 0100.

Prípad 2: Sčítanie kladnej hodnoty so zápornou hodnotou, keď záporné číslo má vyššiu veľkosť.

Na začiatku pridajte kladnú hodnotu s hodnotou doplnku 2 záporného čísla. Tu sa nenašiel žiadny end-around prenos. Takže vezmeme dvojkový doplnok výsledku, aby sme získali konečný výsledok.

Poznámka: Výsledkom je záporná hodnota.

Príklad: 1101 a -1110

  1. Najprv nájdite dvojkový doplnok záporného čísla 1110. Ak teda chcete nájsť dvojkový doplnok, pridajte 1 k LSB s hodnotou doplnku 1 0001.
    0001+1=0010
  2. Pridajte obe čísla, t.j. 1101 a 0010;
    1101+0010= 1111
  3. Nájdite dvojkový doplnok k výsledku 1110, ktorý je konečným výsledkom. Doplnok 2 k výsledku 1110 je teda 0001 a pred číslo pridajte záporné znamienko, aby sme mohli identifikovať, že ide o záporné číslo.

Prípad 3: Sčítanie dvoch záporných čísel

V tomto prípade najprv nájdite dvojkový doplnok oboch záporných čísel a potom spočítame obe tieto čísla doplnkov. V tomto prípade vždy dostaneme end-around carry, ktorý bude pridaný do LSB a zabudneme na konečný výsledok, vezmeme doplnenie výsledku 2.

Poznámka: Výsledkom je záporná hodnota.

Príklad: -1101 a -1110 v päťbitovom registri

  1. Najprv nájdite dvojkový doplnok záporných čísel 01101 a 01110. Aby sme našli dvojkový doplnok, pridáme 1 k LSB doplnku 1 týchto čísel. Doplnok 2 k číslu 01110 je 10010 a 01101 je 10011.
  2. Sčítame obe čísla doplnkov, t.j. 10001 a 10010;
    10010+10011= 1 00101
  3. Sčítaním oboch čísel dostaneme end-around carry 1. Toto carry sa zahodí a konečným výsledkom je 2.s doplnok výsledku 00101. Čiže, dvojkový doplnok k výsledku 00101 je 11011 a pridáme záporný znak pred číslom, aby sme vedeli identifikovať, že ide o záporné číslo.

Odčítanie pomocou dvojkového doplnku

Toto sú nasledujúce kroky na odčítanie dvoch binárnych čísel pomocou doplnku 2

  • V prvom kroku nájdite dvojkový doplnok subtrahendu.
  • Pridajte číslo doplnku s menovkou.
  • Ak získame prenos sčítaním oboch čísel, potom tento prenos zahodíme a výsledok je kladný, inak zoberieme dvojkový doplnok výsledku, ktorý bude záporný.

Príklad 1: 10101 - 00111

Vezmeme dvojkový doplnok subtrahendu 00111, čo je 11001. Teraz ich spočítaj. takže,

10101+11001 = 1 01110.

Vo vyššie uvedenom výsledku dostaneme bit prenosu 1. Tento bit prenosu teda zahodíme a zostane konečný výsledok a kladné číslo.

Príklad 2: 10101 - 10111

Vezmeme dvojkový doplnok subtrahendu 10111, ktorý vyjde 01001. Teraz pridáme obe čísla. takže,

10101+01001 =11110.

Vo vyššie uvedenom výsledku sme nezískali nosný bit. Vypočítajte teda dvojkový doplnok výsledku, t.j. 00010. Je to záporné číslo a konečná odpoveď.