logo

Сабирање и одузимање помоћу комплемента 2

У нашем претходном одељку научили смо како можемо да изводимо аритметичке операције као што су сабирање и одузимање помоћу комплемента са 1. У овом одељку ћемо научити да изводимо ове операције помоћу комплемента 2.

јава оператори

Сабирање помоћу комплемента 2

Могућа су три различита случаја када додамо два бинарна броја користећи комплемент 2, а то је како следи:

Случај 1: Сабирање позитивног броја са негативним бројем када позитивни број има већу величину.

Прво пронађите допуну 2 датог негативног броја. Збројите са датим позитивним бројем. Ако добијемо енд-ароунд пренос 1, онда ће број бити позитиван број и бит за пренос ће бити одбачен, а преостали битови су коначни резултат.

Пример: 1101 и -1001

  1. Прво, пронађите допуну 2 негативног броја 1001. Дакле, за проналажење комплемента 2, промените све 0 у 1 и све 1 у 0 или пронађите комплемент 1 броја 1001. Комплемент 1 броја 1001 је 0110, и додајте 1 на ЛСБ резултата 0110. Дакле, комплемент 2 броја 1001 је 0110+1=0111
  2. Додајте оба броја, тј. 1101 и 0111;
    1101+0111=1 0100
  3. Сабирањем оба броја добијамо енд-ароунд носе 1. Одбацујемо енд-ароунд носе. Дакле, сабирање оба броја је 0100.

Случај 2: Сабирање позитивне вредности са негативном вредношћу када негативни број има већу величину.

У почетку додајте позитивну вредност са вредношћу комплемента 2 негативног броја. Овде се не налази крајњи носилац. Дакле, узимамо комплемент 2 резултата да бисмо добили коначни резултат.

Напомена: Резултанта је негативна вредност.

Пример: 1101 и -1110

  1. Прво, пронађите комплемент 2 негативног броја 1110. Дакле, за проналажење комплемента 2, додајте 1 ЛСБ вредности комплемента његове 1 0001.
    0001+1=0010
  2. Додајте оба броја, тј. 1101 и 0010;
    1101+0010= 1111
  3. Пронађите комплемент 2 резултата 1110 који је коначни резултат. Дакле, комплемент 2 резултата 1110 је 0001 и додајте негативан предзнак испред броја да бисмо могли да идентификујемо да је то негативан број.

Случај 3: Сабирање два негативна броја

У овом случају, прво пронађите допуну 2 за оба негативна броја, а затим ћемо сабрати оба ова комплементна броја. У овом случају, увек ћемо добити енд-ароунд пренос, који ће бити додат ЛСБ-у, а заборављајући коначни резултат, узећемо комплемент од 2 резултата.

Напомена: Резултанта је негативна вредност.

Пример: -1101 и -1110 у пет-битном регистру

  1. Прво пронађите комплемент 2 негативних бројева 01101 и 01110. Дакле, за проналажење комплемента 2, додајемо 1 ЛСБ комплемента 1 ових бројева. Комплемент 2 броја 01110 је 10010, а 01101 је 10011.
  2. Додајемо оба броја комплемента, тј. 10001 и 10010;
    10010+10011= 1 00101
  3. Сабирањем оба броја добијамо крајњи пренос 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. То је негативан број и коначни одговор.