У нашем претходном одељку научили смо како можемо да изводимо аритметичке операције као што су сабирање и одузимање помоћу комплемента са 1. У овом одељку ћемо научити да изводимо ове операције помоћу комплемента 2.
јава оператори
Сабирање помоћу комплемента 2
Могућа су три различита случаја када додамо два бинарна броја користећи комплемент 2, а то је како следи:
Случај 1: Сабирање позитивног броја са негативним бројем када позитивни број има већу величину.
Прво пронађите допуну 2 датог негативног броја. Збројите са датим позитивним бројем. Ако добијемо енд-ароунд пренос 1, онда ће број бити позитиван број и бит за пренос ће бити одбачен, а преостали битови су коначни резултат.
Пример: 1101 и -1001
- Прво, пронађите допуну 2 негативног броја 1001. Дакле, за проналажење комплемента 2, промените све 0 у 1 и све 1 у 0 или пронађите комплемент 1 броја 1001. Комплемент 1 броја 1001 је 0110, и додајте 1 на ЛСБ резултата 0110. Дакле, комплемент 2 броја 1001 је 0110+1=0111
- Додајте оба броја, тј. 1101 и 0111;
1101+0111=1 0100 - Сабирањем оба броја добијамо енд-ароунд носе 1. Одбацујемо енд-ароунд носе. Дакле, сабирање оба броја је 0100.
Случај 2: Сабирање позитивне вредности са негативном вредношћу када негативни број има већу величину.
У почетку додајте позитивну вредност са вредношћу комплемента 2 негативног броја. Овде се не налази крајњи носилац. Дакле, узимамо комплемент 2 резултата да бисмо добили коначни резултат.
Напомена: Резултанта је негативна вредност.
Пример: 1101 и -1110
- Прво, пронађите комплемент 2 негативног броја 1110. Дакле, за проналажење комплемента 2, додајте 1 ЛСБ вредности комплемента његове 1 0001.
0001+1=0010 - Додајте оба броја, тј. 1101 и 0010;
1101+0010= 1111 - Пронађите комплемент 2 резултата 1110 који је коначни резултат. Дакле, комплемент 2 резултата 1110 је 0001 и додајте негативан предзнак испред броја да бисмо могли да идентификујемо да је то негативан број.
Случај 3: Сабирање два негативна броја
У овом случају, прво пронађите допуну 2 за оба негативна броја, а затим ћемо сабрати оба ова комплементна броја. У овом случају, увек ћемо добити енд-ароунд пренос, који ће бити додат ЛСБ-у, а заборављајући коначни резултат, узећемо комплемент од 2 резултата.
Напомена: Резултанта је негативна вредност.
Пример: -1101 и -1110 у пет-битном регистру
- Прво пронађите комплемент 2 негативних бројева 01101 и 01110. Дакле, за проналажење комплемента 2, додајемо 1 ЛСБ комплемента 1 ових бројева. Комплемент 2 броја 01110 је 10010, а 01101 је 10011.
- Додајемо оба броја комплемента, тј. 10001 и 10010;
10010+10011= 1 00101 - Сабирањем оба броја добијамо крајњи пренос 1. Ово ношење се одбацује и коначни резултат је 2.с комплемент резултата 00101. Дакле, комплемент 2 резултата 00101 је 11011, а ми додајемо негативан знак испред броја да бисмо могли да идентификујемо да је то негативан број.
Одузимање помоћу комплемента са 2
Ово су следећи кораци за одузимање два бинарна броја помоћу комплемента са 2
- У првом кораку пронађите 2 комплемента одузетог.
- Додајте број комплемента са минусом.
- Ако добијемо пренос тако што саберемо оба броја, онда одбацујемо овај пренос и резултат је позитиван, иначе узмимо 2 комплемента резултата који ће бити негативан.
Пример 1: 10101 - 00111
Узимамо комплемент од 2 одузетог 00111, што је 11001. Сада их збројите. Тако,
10101+11001 =1 01110.
У горњем резултату, добијамо бит за ношење 1. Тако да одбацујемо овај преносни бит и остаје коначни резултат и позитиван број.
Пример 2: 10101 - 10111
Узимамо комплемент од 2 одузетог броја 10111, који излази 01001. Сада сабирамо оба броја. Тако,
10101+01001 =11110.
У горе наведеном резултату, нисмо добили бит за ношење. Дакле, израчунајте комплемент 2 резултата, тј. 00010. То је негативан број и коначни одговор.