Arithmetic: overflow | ||||||||||||||
So far, we have always assumed that we have enough bits to represent a value. | ||||||||||||||
However, a computer must work with a finite number of bits. | ||||||||||||||
What happens if the result doesn't fit in the available bits? | ||||||||||||||
This is called overflow. | ||||||||||||||
Overflow occurs when the result of an operation is greater than the max possible value | ||||||||||||||
or less than the min value. | ||||||||||||||
In UB: | ||||||||||||||
carry | 1 | 1 | 1 | 1 | ||||||||||
1 | 0 | 1 | 1 | 11 | ||||||||||
0 | 1 | 1 | 1 | 7 | ||||||||||
result | 0 | 0 | 1 | 0 | 2 | |||||||||
What should the result be? | ||||||||||||||