Ankstesniame skyriuje sužinojome apie įvairius papildymus, tokius kaip 1 papildinys, 2 papildinys, 9 papildinys, 10 papildinys ir kt. Šiame skyriuje išmoksime atlikti aritmetines operacijas, tokias kaip sudėtis ir atimtis, naudojant 1 papildinį. Sudėti ir atimti galime atlikti naudodami 1, 2, 9 ir 10 papildymus.
Sudėtis naudojant 1 komplementą
Galimi trys skirtingi atvejai, kai pridedame du dvejetainius skaičius, kurie yra tokie:
1 atvejis: teigiamo skaičiaus sudėjimas su neigiamu skaičiumi, kai teigiamas skaičius yra didesnis.
Iš pradžių apskaičiuokite nurodyto neigiamo skaičiaus 1 papildinį. Sumuokite gautą teigiamą skaičių. Jei gauname 1 pabaigos ženklą, jis pridedamas prie LSB.
Pavyzdys: 1101 ir -1001
- Pirmiausia suraskite neigiamo skaičiaus 1001 papildinį 1. Taigi, norėdami rasti 1 papildinį, pakeiskite visus 0 į 1 ir visus 1 į 0. Skaičiaus 1001 1 papildinys yra 0110.
- Dabar pridėkite abu numerius, ty 1101 ir 0110;
1101+0110=1 0011 - Sudėjus abu skaičius, gauname 1 pabaigos eilutę. Pridedame šį pabaigos apskaičiavimą prie 0011 LSB.
0011+1=0100
2 atvejis: teigiamos vertės pridėjimas prie neigiamos reikšmės, jei neigiamas skaičius yra didesnis.
Iš pradžių apskaičiuokite neigiamos reikšmės 1 komplementą. Sumuokite jį su teigiamu skaičiumi. Šiuo atveju mes negavome galutinio nešiojimo. Taigi, norėdami gauti galutinį rezultatą, paimkite rezultato papildinį 1.
Pastaba: rezultatas yra neigiama reikšmė.
Pavyzdys: 1101 ir -1110
- Pirmiausia suraskite neigiamo skaičiaus 1110 papildinį 1. Taigi, norėdami rasti 1 papildinį, visus 0 pakeičiame į 1, o visus 1 - į 0. Skaičiaus 1110 1 komplementas yra 0001.
- Dabar pridėkite abu skaičius, ty 1101 ir 0001;
1101+0001= 1110 - Dabar suraskite rezultato 1110 papildinį, kuris yra galutinis rezultatas. Taigi, rezultato 1110 papildinys 1 yra 0001, o prieš skaičių pridedame neigiamą ženklą, kad galėtume nustatyti, kad tai yra neigiamas skaičius.
3 atvejis: dviejų neigiamų skaičių pridėjimas
Tokiu atveju pirmiausia suraskite abiejų neigiamų skaičių 1 papildinį, o tada pridedame abu šiuos papildomus skaičius. Tokiu atveju visada gauname end-around carry, kurie pridedami prie LSB, o galutiniam rezultatui gauti imame rezultato 1 komplementą.
Pastaba: rezultatas yra neigiama reikšmė.
Pavyzdys: -1101 ir -1110 penkių bitų registre
- Pirmiausia suraskite neigiamų skaičių 01101 ir 01110 1 komplementą. Taigi, norėdami rasti 1 komplementą, visus 0 pakeičiame į 1, o visus 1 - į 0. Skaičiaus 01110 1 papildinys yra 10001, o 01101 - 10010.
- Dabar pridedame abu komplemento skaičius, ty 10001 ir 10010;
10001+10010= 100011 - Sudėjus abu skaičius, gauname 1 pabaigos perkėlimą. Pridedame šį pabaigos perkėlimą prie 00011 LSB.
00011+1=00100 - Dabar suraskite rezultato 00100 papildinį, kuris yra galutinis atsakymas. Taigi, rezultato 00100 papildinys 1 yra 110111, o prieš skaičių pridėkite neigiamą ženklą, kad galėtume nustatyti, kad tai yra neigiamas skaičius.
Atimtis naudojant 1 papildinį
Tai yra šie veiksmai, skirti atimti du dvejetainius skaičius naudojant 1 papildymą
- Pirmame žingsnyje suraskite pogrupio 1 papildinį.
- Tada pridėkite papildymo numerį su minuend.
- Jei turite nešiojimą, pridėkite jį prie jo LSB. Kitu atveju paimkite 1 rezultato komplementą, kuris bus neigiamas
Pastaba: subtrahend vertė visada atimama iš minuend.
1 pavyzdys: 10101 - 00111
Mes paimame 1 poskyrio 00111 papildinį, kuris išeina 11000. Dabar juos susumuokite. Taigi,
10101+11000 =1 01101.
Aukščiau pateiktame rezultate gauname 1 bitą, todėl pridėkite jį prie nurodyto rezultato LSB, ty 01101+1=01110, tai yra atsakymas.
2 pavyzdys: 10101–10111
Mes paimame 1 papildinį iš poskyrio 10111, kuris išeina 01000. Dabar pridėkite abu skaičius. Taigi,
10101+01000 =11101.
Aukščiau pateiktame rezultate mes negavome nešiojimo antgalio. Taigi apskaičiuokite rezultato 1 papildinį, ty 00010, kuris yra neigiamas skaičius ir galutinis atsakymas.