If you want to talk about mechanical computing tools, you can’t ignore the abacus. It’s the oldest computing tool in the world; and it’s still very commonly used. It’s also about as different from the slide rule as you could imagine. The abacus is really fundamentally an addition device; the slide-rule is fundamentally a multiplier. And the slide rule is very complicated – all those different scales, in logarithmic relationships; the abacus is thoroughly simple – just beads hanging on wires. But don’t let that fool you: the abacus is is a remarkable device, which is capable of a really huge number of computations: addition. subtraction, multiplication, division, even square and cube roots.
The abacus is, basically, sort of like a *better* piece of paper. Any kind of numerical calculation that you can do using piece of paper and a pencil, you can do on an abacus; only it’s a whole lot faster on the abacus.
There are a lot of different variants on the abacus. A few examples with pictures:
1. The Chinese abacus, or suan-pan. Each column on the abacus is split into two “decks”, with five beads on the lower and two on the upper.
2. The Japanese abacus, or Soroban. Each column is split into two decks, with 4 beads on the lower, and one on the upper.
3. The Roman abacus. The basic idea of the roman abacus is similar to the soroban; lower deck with four beads, upper with one. The roman generally had seven columns, plus sometimes a couple of extras for fractions. The main different mechanically is that the roman abacus doesn’t put the beads on the wires; instead it has its beads just sitting in grooves.
4. The Lee chinese abacus (named after its inventor, Lee Kai-Chen). This looks like two small soroban stacked on top of a suan-pan. The two upper mini-sorobans are used for place-keeping and sub-calculations, and sliding markers on the beams separating the decks. The Lee calculus is a really amazing piece of work. Unfortunately, they’re quite rare. (I’d love to own one, but I’ve never been able to find one for less than $400!)
I’m going to talk about the Chinese abacus, the suan-pan. The main reason that I
prefer the suan-pan is that the way that it’s beads are set 5/2 lets you
simplify some things; you can do things like delay a carry until you’re ready;
and it makes some 5’s complement stuff easier to do.
If you’re interested in the abacus at all, I recommending looking [here][abacus-site]; it’s an absolutely wonderful website with information about all of the different kinds of abacuses (abaci?), a Java applet that simulate the suan-pan abacus; scanned images of books about how to do things on the abacus, information about where to buy yourself an abacus, and more. It’s great. The images that I’ll be using were generated using the suan-pan applet on that site.
So, let’s take a look at how to do some simple arithmetic on the Chinese abacus.
First we need to see how to do basic numbers. The abacus is set to zero with all of the beads on the lower deck down against the bottom beam; and all of the beads in the upper deck pushed up against the upper beam, like so: *(Commenter JuanCarlos pointed out that I messed up the original version of this image; I didn’t line up correctly, and as a result, didn’t have any beads down in the upper deck of the fifth column, so instead of being 5, it was 0. Thanks for the catch!)*
To read numbers, each column represents one decimal digit. Each bead on the lower rack moved up counts adds one to value in the column; each bead on the upper rack moved down counts adds “5” to the column value. So in the following image, the columns from left to right read 9 (4 lower + 1*5 upper); 8 (3 lower + 1*5 upper), 7, 6, 5, 4, 3, 2, 1:
To add on an abacus, you use basically the same process as adding on paper: you move from right to left, adding numbers in each column. You start by putting the first of two numbers to add in the columns to the right. Then, for each digit in the second number from right to left, you move beads to represent your addition. To add 1, move one bead from the lower deck up; when all five beads on the lower rack are up, you move them all down and lower one bead from the upper deck. When both beads on the upper deck are down, you can move both of them back up, and raise one bead from the lower deck of the next digit to the left.
That will become clearer after an example. Suppose we want to add 47281 + 23153. We’ll start by putting 47281 onto the abacus:
We start at the right-most column. We want to add three there; so we move three beads up on the lower deck:
Now we move to the next digit. To add 5, we can just lower one bead on top. Since that gives us two beads on the upper deck, which means that we need to carry one to the next column. So we raise both beads on the upper deck of the second column, and raise one bead from the lower deck of the third column. So far, the abacus reads 47334:
In the third digit, we want to add one, so we raise one bead in the third column. The abacus now reads 47434:
We move on to the fourth column. We need to add 3, so we raise three beads on the lower deck. That gives us five raised beads on the lower deck. So we can lower all five beads, and also lower one bead from the upper deck. The abacus now reads 4(10)434:
With two beads down on the upper deck, we need to carry one to the left. So we shift them up, and add one to the lower deck of the next column, so that we correctly read 50434:
Now, we finally move on to the fifth column. Since the lower deck has 5 beads up, we can lower all of the beads on the lower deck, and one from the upper deck. Then we add two. So we wind up with 70434:
See? It’s basically exactly the same as addition on paper, only we’re moving beads instead of writing down numbers. It’s the same mechanism; right-to-left adding digits, carrying one to the left each time a digit is 10 or higher.
There’s one neat trick that you can use on the abacus to make things easier, based on fives-complement arithmetic. In base 5, adding a single digit in the *i*th position is equivalent to adding 1 to the the digit in the *i+1*th digit, and subtracting (5-n) to the *i*th digit. So, for example, if we have 3241 in base 5, and we want to add 4 to the third digit (2), we can do it by adding one to the fourth digit, and *subtracting* 5-4=1 from the third digit, giving us 4141.
On the abacus, we can use this trick. The two decks in a single column are effectively two base-5 digits. So adding n to a column is the same as *lowering* one bead from the upper deck of that column, and *lower* 5-n beads from the lower deck of that column.
For example, if we’re adding 34 + 53, we’d start with 4 raised beads in the lower deck of the first column; and 3 raised beads in the lower deck of the second column. We want to add 3 to the first column; we can do that by lowering one bead from the upper dock, and two beads from the lower deck. That basically means adding five and subtracting two – which is adding three. Many things can be done much faster on the abacus by playing with fives-complement this way.