Location arithmetic (Latin arithmetica localis) is the additive (non-positional) binary numeral systems, which John Napier explored as a computation technique in his treatise Rabdology (1617), both symbolically and on a chessboard-like grid.
Napier's terminology, derived from using the positions of counters on the board to represent numbers, is potentially misleading because the numbering system is, in facts, non-positional in current vocabulary.
During Napier's time, most of the computations were made on boards with tally-marks or jetons. So, unlike how it may be seen by the modern reader, his goal was not to use moves of counters on a board to multiply, divide and find square roots, but rather to find a way to compute symbolically with pen and paper.
However, when reproduced on the board, this new technique did not require mental trial-and-error computations nor complex carry memorization (unlike base 10 computations). He was so pleased by his discovery that he said in his preface:
it might be well described as more of a lark than a labor, for it carries out addition, subtraction, multiplication, division and the extraction of square roots purely by moving counters from place to place.
Contents
Location numerals
Binary notation had not yet been standardized, so Napier used what he called location numerals to represent binary numbers. Napier's system uses sign-value notation to represent numbers; it uses successive letters from the Latin alphabet to represent successive powers of two: a = 20 = 1, b = 21 = 2, c = 22 = 4, d = 23 = 8, e = 24 = 16 and so on.
To represent a given number as a location numeral, that number is expressed as a sum of powers of two and then each power of two is replaced by its corresponding digit (letter). For example, when converting from a decimal numeral:
87 = 1 + 2 + 4 + 16 + 64 = 20 + 21 + 22 + 24 + 26 = abceg
Using the reverse process, a location numeral can be converted to another numeral system. For example, when converting to a decimal numeral:
abdgkl = 20 + 21 + 23 + 26 + 210 + 211 = 1 + 2 + 8 + 64 + 1024 + 2048 = 3147
Napier showed multiple methods of converting numbers in and out of his numeral system. These methods are similar to modern methods of converting numbers in and out of the binary numeral system, so they are not shown here. Napier also showed how to add, subtract, multiply, divide, and extract square roots.
Abbreviated and extended form
As in any numeral system using sign-value notation (but not those using positional notation), digits (letters) can be repeated such that multiple numerals can represent a single number. For example:
abbc = acc = ad = 9
Additionally, the order of digits does not matter. For example:
abbc = bbca = bcba = ... = 9
Because each digit in a location numeral represents twice the value of its next-lower digit, replacing any two occurrences of the same digit with one of the next-higher digit does not change the numeral's numeric value. Thus, repeatedly applying the rules of replacement aa → b, bb → c, cc → d, etc. to a location numeral removes all repeated digits from that numeral.
Napier called this process abbreviation and the resulting location numeral the abbreviated form of that numeral; he called location numerals containing repeated digits extended forms. Each number can be represented by a unique abbreviated form, not considering the order of its digits (e.g., abc, bca, cba, etc. all represent the number 7).
Arithmetic
Location numerals allow for a simple and intuitive algorithm for addition:
join the numerals end-to-end
when necessary, rearrange this conjoined numeral's digits so they are in ascending order
abbreviate this rearranged and conjoined numeral
For example, to add 157 = acdeh and 230 = bcfgh, join the numerals end-to-end:
acdeh + bcfgh → acdehbcfgh
rearrange the digits of the previous result (because the digits of acdehbcfgh are not in ascending order):
acdehbcfgh → abccdefghh
and abbreviate the previous result:
abccdefghh → abddefghh → abeefghh → abffghh → abgghh → abhhh → abhi
The final result, abhi, equals 387 (abhi = 20 + 21 + 27 + 28 = 1 + 2 + 128 + 256 = 387); this is the same result achieved by adding 157 and 230 in decimal notation.
Subtraction is also intuitive, but may require expanding abbreviated forms to extended forms to perform borrows.
Write the minuend (the largest number you want to diminish) and remove from it all the digits appearing in the subtrahend (the smallest number). In case the digit to be removed does not appear in the minuend, then borrow it by expanding the unit just larger. Repeat until all the digit of the subtrahend have been removed.
A few examples show it is simpler than it sounds :
The grid
Location arithmetic uses a square grid where each square on the grid represents a value. Two sides of the grid are marked with
increasing powers of two. Any inner square can be identified by two numbers on these two sides, one being vertically below the inner
square and the other to its far right. The value of the square is the product of these two numbers.
For instance, the square in this example grid represents 32, as it is the product of 4 on the right column and 8 from the bottom row. The grid itself can be any size, and larger grids simply permit us to handle larger numbers.
Notice that moving either one square to the left or one square up doubles the value. This property can be used to perform binary
addition using just a single row of the grid.
Addition
First, lay out a binary number on a row using counters to represent the 1s in the number. For example, 29 (= 11101 in binary) would be placed on the board like this:
The number 29 is clearly the sum of the values of the squares on which there are counters. Now overlay the second number on this row. Say we place 9 (= 1001 in binary) on it like this.
The sum of these two numbers is just the total value represented by the counters on the board, but some of the squares have more than one counter. Recall however, that moving to the left of a square doubles its value. So we replace two counters on a square with one counter to its left without changing the total value on the board. Note that this is the same idea used to abbreviate
location numerals. Let's start by replacing the rightmost pair of counters with a counter to its left, giving:
We still have another square with two counters on it, so we do it again:
But replacing this pair created another square with two counters on it, so we replace a third time:
Now each square has just one counter, and reading off the result in binary 100110 (= 38) gives the correct result.
Subtraction
Subtracting is not much more complicated than addition: instead of adding counters on the board we remove them. To "borrow" a value, we replace a counter on a square with two to its right.
Let's see how we might subtract 12 from 38. First place 38 (= 100110 in binary) on a row, and then place 12 (= 1100 in binary) under it:
For every counter on the lower row that has a counter above it, remove both counters. We can remove one such pair on the board,
resulting in:
Now we need to "borrow" counters to get rid of the remaining counter on the bottom. First replace the leftmost counter on the top row with two to its right:
Now replace one of the two counters with two more to its right, giving:
We can now take away one of the counters on the top row with the remaining counter on the bottom row:
and read off 26, the final result.
Some properties of the grid
Unlike addition and subtraction, the entire grid is used to multiply, divide, and extract square roots. The grid has some useful properties utilized in these operations. First, all the squares on any diagonal going from the bottom left to the top right have the same value.
Since a diagonal move can be broken down into a move to the right (which halves the value) followed by a move
up (which doubles the value), the value of the square stays the same.
In conjunction with that diagonal property, there is a quick way to divide the numbers on the bottom and right edges of the grid.
To perform 32÷8, one locates the dividend 32 along the right side and the divisor 8 on the bottom edge of the grid. Extending a diagonal from the dividend to the square where it intersects a vertical line of the divisor, the quotient lies at the right end of the grid from this square, in this example 4.
This works as moving along the diagonal does not change the value; the value of the square on the intersection is still the dividend. Thus, the dividend is the product of the squares along the bottom and right edge. Since the square on the bottom edge is the divisor, the square on the right edge is the quotient.
Multiplication
To multiply a pair of binary numbers, first mark the two numbers
on the bottom and the right side of the grid. Say we want to
multiply 22 (= 10110) by 9 (= 1001).
Now place counters at every "intersection" of vertical and
horizontal rows of the 1s in each number.
Notice that each row of counters on the grid is just
22 multiplied by some
power of two. In fact, the total value of the counters is the
sum of two rows
22*8 + 22*1 = 22*(8+1) = 22*9
So the counters on the board actually represent the product
of the two numbers, except it is not possible to "read off" the
answer just yet.
Recall that moving counters diagonally does not change the value,
so move all the counters on inner squares diagonally until they
hit either the bottom row or the left column.
Now we make the same moves we did for addition. Replace two counters on a square with one to its left. If the square is on the left column, replace two counters with one above it. Recall that the value of a square doubles if you move up, so this does not change the value on the grid.
Division
Martin Gardner presented a slightly easier to understand version of Napier's division method, which is what is shown here.
Division works pretty much the reverse of multiplication. Say we want
to divide 485 by 13. First place counters for 485 (= 111100101) along
the bottom edge and mark 13 (= 1101) along the right edge. To save
space, we'll just look at a rectangular portion of the board because
that's all we actually use.
Starting from the left, the game is to move counters diagonally into
"columns of divisors" (that is, with one counter on each row marked
with a 1 from the divisor.) Let's demonstrate this with the leftmost
block of counters.
Now the next block of counters we might try would begin with the
leftmost counter on the bottom, and we might attempt something like
except that we do not have any counters that we can move diagonally from the bottom edge into squares that would form the rest of the "column of divisors".
In such cases, we instead "double down" the counter on the bottom row and form a column one over to the right. As you will soon see, it will always be possible to form a column this way. So first replace the counter on the bottom with two to its right.



