У нашем претходном одељку научили смо о различитим комплементама као што су комплемент за 1, комплемент за 2, комплемент са 9 и комплемент са 10, итд. У овом одељку ћемо научити да изводимо аритметичке операције као што су сабирање и одузимање помоћу комплемента 1. Можемо да извршимо сабирање и одузимање помоћу комплемента 1, 2, 9 и 10.
Сабирање коришћењем комплемента са 1
Могућа су три различита случаја када додамо два бинарна броја који су следећи:
Случај 1: Сабирање позитивног броја са негативним бројем када позитивни број има већу величину.
Прво израчунајте комплемент са 1 датом негативном броју. Збројите са датим позитивним бројем. Ако добијемо енд-ароунд носе 1, он се додаје у ЛСБ.
Пример: 1101 и -1001
- Прво, пронађите допуну 1 негативног броја 1001. Дакле, за проналажење комплемента 1, промените све 0 у 1 и све 1 у 0. Комплемент 1 броја 1001 је 0110.
- Сада додајте оба броја, тј. 1101 и 0110;
1101+0110=1 0011 - Сабирањем оба броја, добијамо енд-ароунд носе 1. Додамо овај крај око преноса на ЛСБ од 0011.
0011+1=0100
Случај 2: Додавање позитивне вредности са негативном вредношћу у случају да негативни број има већу величину.
У почетку израчунајте допуну 1 негативне вредности. Збројите га позитивним бројем. У овом случају, нисмо добили енд-ароунд носе. Дакле, узмите комплемент од 1 резултата да бисте добили коначни резултат.
Напомена: Резултанта је негативна вредност.
Пример: 1101 и -1110
- Прво пронађите допуну 1 негативног броја 1110. Дакле, за проналажење комплемента 1, мењамо све 0 у 1, и све 1 у 0. Комплемент броја 1 за број 1110 је 0001.
- Сада додајте оба броја, тј. 1101 и 0001;
1101+0001= 1110 - Сада пронађите комплемент са 1 за резултат 1110 који је коначни резултат. Дакле, комплемент од 1 резултата 1110 је 0001, а испред броја додајемо негативан предзнак да бисмо могли да идентификујемо да је то негативан број.
Случај 3: Сабирање два негативна броја
У овом случају, прво пронађите допуну 1 за оба негативна броја, а затим саберемо оба ова комплементна броја. У овом случају, увек добијамо енд-ароунд пренос, који се додаје ЛСБ-у, а за добијање коначног резултата узимамо комплемент од 1 резултата.
Напомена: Резултанта је негативна вредност.
Пример: -1101 и -1110 у пет-битном регистру
- Прво пронађите допуну 1 негативних бројева 01101 и 01110. Дакле, за проналажење комплемента 1, мењамо све 0 у 1, и све 1 у 0. Комплемент броја 1 броја 01110 је 10001, а 01101 је 1001.
- Сада додајемо оба броја комплемента, тј. 10001 и 10010;
10001+10010= 1 00011 - Сабирањем оба броја, добијамо енд-ароунд носе 1. Додамо овај енд-ароунд пренос на ЛСБ од 00011.
00011+1=00100 - Сада пронађите допуну 1 за резултат 00100 који је коначни одговор. Дакле, комплемент са 1 резултату 00100 је 110111 и додајте негативан предзнак испред броја тако да можемо идентификовати да је то негативан број.
Одузимање помоћу комплемента са 1
Ово су следећи кораци за одузимање два бинарна броја помоћу комплемента са 1
- У првом кораку пронађите комплемент од 1 одузетог.
- Затим додајте број комплемента са минусом.
- Ако имате пренос, додајте га у његов ЛСБ. Иначе, узмите комплемент од 1 резултата који ће бити негативан
Напомена: Одузета вредност се увек одузима од минуенда.
Пример 1: 10101 - 00111
Узимамо комплемент од 1 одузимања 00111, који излази 11000. Сада их збројите. Тако,
10101+11000 =1 01101.
У горњем резултату, добијамо преносни бит 1, па додајте ово на ЛСБ датог резултата, тј. 01101+1=01110, што је одговор.
Пример 2: 10101 - 10111
Узимамо комплемент од 1 одузетог броја 10111, који излази 01000. Сада саберите оба броја. Тако,
10101+01000 =11101.
У горе наведеном резултату, нисмо добили бит за ношење. Дакле, израчунајте комплемент од 1 резултата, тј. 00010, што је негативан број и коначни одговор.