Co se stane, když výsledek matematické operace je větší, než rozsah výsledného čísla?

Co když chcete sečíst 100 + 54 a uložit jej do bajtu, který pracuje ve dvojkovém doplňku? Bajt ve dvojkovém doplňku dovoluje pouze hodnoty od -128 do +127. Číslo 154 se tam nevejde.

Máte na výběr.

  • Výsledek můžete uložit do čísla s větším rozsahem, například 232
  • Rozsah nezměníte – dojde k přetečení

Přetečení znamená, že výsledek operace přesahuje rozsah, do kterého se číslo vejde. Podtečení je totéž ale na druhou stranu, když je číslo menší, než je záporná hranice čísla.

100 + 54 = 154 matematicky vypadá takto.

  • 10010 = 110010002
  • 5410 = 1101102
  • 15410 = 100110102

Jenže ve dvojkovém doplňku to vypadá jinak!

  • 10010 = 110010002
  • 5410 = 001101102
  • 15410 = 100110102 = -10210