NavList:
A Community Devoted to the Preservation and Practice of Celestial Navigation and Other Methods of Traditional Wayfinding
From: Tibor Miseta
Date: 2021 Nov 13, 00:58 -0800
David, you wrote: "I’m not a mathematician, but I would like to know why."
I’m not a mathematician too, but try to explain in kitchen language.
The logarithms of small numbers are negative, for example base ten log of 0.2 is -0,6990. The negative numbers are hard to tabulate and are very inconvenient during arithmetic. Let assume, you must calculate 3*7*0.2, in logarithmic world this looks like:
0.4771
0.8451
-0.6990
-----------
This is very inconvenient to sum in a single step, you should make one addition first and a separate subtraction.
But if you use a trick to add and subtract ten (the base of log) to negative numbers, you will get:
log 0.2 = -0.6990 = -0.6990 +10 -10 = 9.3010 - 10
This is positive, and definitely the same number. For brevity only 9.3010 will be tabulated in any table. Now we can make the sum conveniently:
0.4771
0.8451
9.3010 - 10
----------------
10.6232 - 10
Here 10.6232 - 10 equals to 0.6232 that is the log of 4.2, the result.
This is called ten's complementer arithmetic (very similar to the two's complementer arithmetic widely used in binary computers).
Basicly the most significant digit indicates, that the number is a ten's complementer: if it is 9 (or 8 or 7; officially greater than 5, the half of the base of the log), the number is a complementer.
If you have more small numbers to multiply, this works nice too. For example calculating 3*0.34*0.67 looks like
0.4771
9.5315 - 10
9.8261 - 10
---------------------
19.8347 - 20
The result is 19.8347 - 20 = 9.8347 - 10 (this is the tabulated value) = -0.1653 (this is the real value, that is the log of 0.6834, the result.)
You can see an overflow here at the tens's digit, the 1. This digit actually just counts the number of tens we added to our negative numbers, and because we deduct the same amount of tens, this is neutral, we simply do not have to care with it (between limits, see later). The above example could be written like this, to make it clear:
0.4771 = 0.4771
9.5315 - 10 = 10 - 0.4685 - 10
9.8261 - 10 = 10 - 0.1739 - 10
--------------------- ----------------------
19.8347 - 20 = 20 - 0.1653 - 20