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.

Matematicky

100 + 54 = 154 matematicky vypadá takto.

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

V omezené paměti počítače

Pokud máte na výsledek bajtový rozsah (-128, +127) ve dvojkovém doplňku tak se výsledek interpretuje jako úplně jiné číslo!

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