Logarithm Tables

September 30, 2011

While cleaning-up my study, I found my old tables of logarithms and anti-logarithms that must date to my high-school days.

For my readers who were too young to have had the privilege of using logarithm tables, Tony Audsley gives a good explanation, and the tables themselves are available on the next page. Used properly, the tables give logarithms and anti-logarithms (mantissa) to four places after the decimal point, with an error no greater than 1 in the last digit; you have to figure out the exponents (characteristic) yourself, by inspection.

Your task is to write programs that create four-place tables of logarithms and anti-logarithms; please let us know by leaving a comment if you remember using such tables in the past. When you are finished, you are welcome to read or run a suggested solution, or to post your own solution or discuss the exercise in the comments below.

Pages: 1 2 3

4 Responses to “Logarithm Tables”

  1. Dennis Decker Jensen said

    I remember using tables 20 years ago and even 10 years ago. Using tables at the exam instead of or in addition to a calculator is still allowed in Denmark as far as I know, and it actually provides a benefit, because you can double check your results. I remember my previous mathematics teacher even taught us pupils to use a ruler and caliper, because it gave us a much better understanding of what logarithms were about.

  2. Mike said

    I learned to use logarithms in school a long time ago (30 years or so). In my office, I have the 1957-58 edition of the CRC, which contains tables of logarithms to 4 digits, to 5 digits, logarithms of trig functions, etc. I haven’t used logarithm tables directly since school. However, I have several slide rules (which are based on logarithms) and use them on a regular basis.

    Here is my python 3 code to produce the log and alog tables.

    from math import log10
    
    def printtable(title, func):
        fmthdr = ("{:2}" + " {:>4}"*10 + " " + " {:2}"*9).format
        fmtrow = ("{:2}" + " {:04}"*10 + " " + " {:2}"*9).format
    
        print("\n\n{:^80}".format(title))
        print(fmthdr('',0,1,2,3,4,5,6,7,8,9,1,2,3,4,5,6,7,8,9))
        print(fmthdr(*(['--'] + ['----']*10 + ['--']*9)))
        
        for d12 in range(1000, 10000, 100):
            label = d12//100
            sums = [0]*10
            logs = []
            for d3 in range(0, 100, 10):
                x = d12 + d3
                logx = func(x)
                logs.append(round(logx))
                
                for d4 in range(1, 10):
                    y = d12 + d3 + d4
                    logy = func(y)
                    sums[d4] += logy - logx
                    
            sums = [round(s/10) for s in sums]
            
            print(fmtrow(label, *(logs + sums[1:])))
            if d12%500 == 400:
                print()
    
    printtable("Logarithms", lambda x: log10(x/1000) * 10000)
    
    printtable("Antilogarithms", lambda x: pow(10, x/10000) * 1000)
    
    
    
  3. programmingpraxis said

    Mike: I still use my father’s slide rule. And I recently bought a 1.5″ diameter circular slide rule that hangs on my keychain — it’s already proven useful.

  4. Mike said

    The bezel on my watch is a cicular slide rule, the pencil holder on my desk is a cylindrical one, and I have an E6B flight computer. I also have several of my fathers slide rules that date from the 50’s. My favorite is a credit card sized circular slide rule with a periodic table on the back and a pull out card with all sorts of mathmatical and physical constants, conversion formulas, etc.

    When I served on a submarine we used ‘whiz wheels’ all the time. A skilled person with a whiz wheel could often do a computation faster then a person using a computer. We also practiced calculating targeting solutions in our heads.

Leave a comment