logo

Sudėtis ir atimtis naudojant 2 papildinį

Ankstesniame skyriuje sužinojome, kaip galime atlikti aritmetines operacijas, tokias kaip sudėjimas ir atimtis, naudojant 1 papildinį. Šiame skyriuje mes išmoksime atlikti šias operacijas naudojant 2 papildinį.

statybininko dizaino modelis

Sudėjimas naudojant 2 komplementą

Galimi trys skirtingi atvejai, kai pridedame du dvejetainius skaičius naudodami 2 komplementą, kuris yra toks:

1 atvejis: teigiamo skaičiaus sudėjimas su neigiamu skaičiumi, kai teigiamas skaičius yra didesnis.

Iš pradžių suraskite nurodyto neigiamo skaičiaus 2 papildinį. Sumuokite gautą teigiamą skaičių. Jei gausime galutinį pernešimo 1 skaičių, skaičius bus teigiamas, o perdavimo bitas bus atmestas, o likę bitai bus galutinis rezultatas.

Pavyzdys: 1101 ir -1001

  1. Pirmiausia suraskite neigiamo skaičiaus 1001 papildinį 2. Taigi, norėdami rasti 2 papildinį, pakeiskite visus 0 į 1 ir visus 1 į 0 arba suraskite skaičiaus 1001 papildinį 1. Skaičiaus 1001 papildinys 1 yra 0110, ir prie rezultato 0110 LSB pridėkite 1. Taigi skaičiaus 1001 2 papildinys yra 0110+1=0111
  2. Sudėkite abu numerius, ty 1101 ir 0111;
    1101+0111=1 0100
  3. Sudėjus abu skaičius, gauname pabaigos nešimą 1. Pabaigos nešimą atmetame. Taigi, abiejų skaičių pridėjimas yra 0100.

2 atvejis: teigiamos vertės pridėjimas prie neigiamos reikšmės, kai neigiamas skaičius yra didesnis.

Iš pradžių pridėkite teigiamą reikšmę su neigiamo skaičiaus 2 komplemento verte. Čia nerasta galutinio nešiojimo. Taigi, norėdami gauti galutinį rezultatą, imame rezultato 2 papildinį.

Pastaba: rezultatas yra neigiama reikšmė.

Pavyzdys: 1101 ir -1110

  1. Pirmiausia suraskite neigiamo skaičiaus 1110 2 papildinį. Taigi, norėdami rasti 2 komplementą, prie jo 1 komplemento vertės 0001 pridėkite 1 prie LSB.
    0001+1=0010
  2. Sudėkite abu skaičius, ty 1101 ir 0010;
    1101+0010= 1111
  3. Raskite rezultato 1110 2 papildinį, kuris yra galutinis rezultatas. Taigi, rezultato 1110 papildinys 2 yra 0001, o prieš skaičių pridėkite neigiamą ženklą, kad galėtume nustatyti, kad tai yra neigiamas skaičius.

3 atvejis: dviejų neigiamų skaičių pridėjimas

Šiuo atveju pirmiausia suraskite abiejų neigiamų skaičių 2 komplementą, o tada pridėsime abu šiuos papildomus skaičius. Tokiu atveju visada gausime end-around nešiojimą, kuris bus pridėtas prie LSB, o pamiršę galutinį rezultatą, paimsime 2 rezultato komplementą.

Pastaba: rezultatas yra neigiama reikšmė.

Pavyzdys: -1101 ir -1110 penkių bitų registre

  1. Pirmiausia suraskite neigiamų skaičių 01101 ir 01110 2 komplementą. Taigi, norėdami rasti 2 komplementą, prie šių skaičių 1 papildinio LSB pridedame 1. 2 skaičiaus 01110 papildinys yra 10010, o 01101 yra 10011.
  2. Sudedame abu komplemento skaičius, ty 10001 ir 10010;
    10010+10011= 1 00101
  3. Sudėjus abu skaičius, gauname galutinį pernešimą 1. Šis perkėlimas atmetamas ir galutinis rezultatas yra rezultato 00101 2 papildinys. Taigi rezultato 00101 2 papildinys yra 11011, o pridedame neigiamą. pasirašykite prieš skaičių, kad galėtume nustatyti, kad tai neigiamas skaičius.

Atimtis naudojant 2 komplementą

Tai yra šie žingsniai, skirti atimti du dvejetainius skaičius naudojant 2 komplementą

  • Pirmame žingsnyje raskite pogrupio 2 papildinį.
  • Pridėkite papildymo numerį su minuend.
  • Jei gauname perkėlimą sudėjus abu skaičius, tada šį perkėlimą atmetame ir rezultatas yra teigiamas, kitu atveju paimame 2 rezultato komplementą, kuris bus neigiamas.

1 pavyzdys: 10101 - 00111

Mes paimame 2 poskyrio 00111 papildinį, kuris yra 11001. Dabar juos susumuokite. Taigi,

10101+11001 =1 01110.

Aukščiau pateiktame rezultate gauname pernešimo bitą 1. Taigi šį nešimo bitą atmetame ir lieka galutinis rezultatas ir teigiamas skaičius.

2 pavyzdys: 10101–10111

Mes paimame 2 pogrupio 10111 papildinį, kuris išeina 01001. Dabar pridedame abu skaičius. Taigi,

10101+01001 =11110.

Aukščiau pateiktame rezultate mes negavome nešiojimo antgalio. Taigi apskaičiuokite rezultato 2 papildinį, ty 00010. Tai yra neigiamas skaičius ir galutinis atsakymas.