Other people have done all the math-y specifications, and have done so spectactularly. From reading the comments, it seems as if the "why we have to carry exceeds over" hasn't been received by everyone yet. Let me try to explain that with an "analogy" (it's not really an analogy, but.. let's just go with it):
I assume you are familiar with the binary representation (or base-2).
In all numbersystems, there is a highest number any single-digit representation can contain. In base-2, that number is 1. In base-10, that number is 9.
This means that in base-2, it's not possible to represent the number 2 like 2
or 02
-- it has to be 10
, because the value 2 is too high to be represented in the first single-digit position. Ergo, you must carry the exceed over to the next position.
Another way of looking at this is, again using base-2, each single-digit representation -- each position -- is a counting of how many of its corresponding values the number should specify, and each position can only correspond to one value. Let's take the base-2 number 10
and start reading from the right:
1st position: 0
-- how many ONE
s do we have
2nd position: 1
-- how many TWO
s do we have
Which of course corresponds to the number 2
in base-10.
Another number, 1011101
and its corresponding base-10 values:
1st position: 1
-- number of ONE
s
2nd position: 0
-- number of TWO
s
3rd position: 1
-- number of FOUR
s
4th position: 1
-- number of EIGHT
s
5th position: 1
-- number of SIXTEEN
s
6th position: 0
-- number of THIRTYTWO
s
7th position: 1
-- number of SIXTYFOUR
s
Counting it all up -- I don't speak latex, so I'm sorry for the formatting -- it becomes 64*1 + 32*0 + 16*1 + 8*1 + 4*1 + 2*0 + 1*1 = 93.
Carrying this logic over to base-10, where each position can hold {0, 9}
and naturally cannot be double-digit:
1st position: number of ONE
s
2nd position: number of TEN
s
3rd position: number of HUNDRED
s
...
nth position: number of 10^(n-1)
s
If we have the addition 8 + 4 = 12
, and we weren't able to carry exceeds, the first position on the right-hand side would contain the double-digit number 12
(and the second position would contain 0
), which is illegal. The first position can only contain the number of ones, and it is impossible in this representation to have more than nine ones. The moment you get 10 ONE
s, you don't actually have 10 ONE
s -- you have one TEN
.
Thusly, we either carry the 1
(meaning one TEN
in this example) over to the next position where it belongs (with the rest of the TEN
s), leaving 2
in the position for ONE
s, giving us the number 1*10 + 2*1 = 12
-- or the numbersystem breaks down.
In the everyday, this representation is still used explicitly to some extent:
"One-thousand two-hundred" = 1200:
1st position: 0
-- number of ONE
s
2nd position: 0
-- number of TEN
s
3rd position: 2
-- number of HUNDRED
s
4th position: 1
-- number of THOUSAND
s
Finally, imagine if you weren't able to carry exceeds: you have literally no way of knowing what any number you're presented with means. The number 1200
could mean "one-thousand two-hundred" or it could mean "one-thousand and twenty", or the number 10200
could mean "one-thousand two-hundred" or "ten-thousand twenty" or "one-thousand twenty", depending on how you align the addition.
Re: myself earlier, the numbersystem is 100% useless if you do not carry.