How can I calculate a logarithm without a calculator?

1 Answer
Oct 30, 2015

See explanation, where I show how to find log_2(7) ~~ 2.8

Explanation:

Since you were not specific as to what base of logarithm you wanted, I will take the liberty of showing you how to calculate logarithms base 2 in binary. They are perhaps the easiest to do by hand. Elsewhere I have shown a method to calculate common (base 10) logarithms, but that involves a lot of raising numbers to the 10th power so is rather tedious.

Let us calculate log_2 7.

From now on express numbers in binary...

We want to calculate log_(10_2) 111_2

10_2^(10_2) = 100_2 < 111_2 < 1000_2 = 10_2^(11_2)

So the digits before the binary point are color(blue)(10)

Next divide 111_2 by 10_2^(10_2)=100_2 to get 1.11_2

Square 1.11_2 to get 11.0001_2

Since this is greater than 10_2, the first digit after the binary point is color(blue)(1)

Divide by 10_2 to get 1.10001_2

Square 1.10001_2 to get 10.0101100001_2

Since this is greater than 10_2, the second digit after the binary point is color(blue)(1)

Divide by 10_2 to get 1.00101100001_2

Square 1.00101100001_2 to get 1.0101111111011011000001_2

Since this is less than 10_2, the third digit after the binary point is color(blue)(0)

Square 1.0101111111011011000001_2 to get 1.11100011100110100101000001010111110110000001_2

Since this is less than 10_2, the fourth digit after the binary point is color(blue)(0)

To cut down on the arithmetic, I will approximate this as 1.11100011100110100101_2

Square 1.11100011100110100101_2 to get 11.1001000110001111101001101110010001011001_2

Since this is greater than 10_2, the fifth digit after the binary point is color(blue)(1)

Divide by 10_2 to get 1.11001000110001111101001101110010001011001_2

I'll stop here, but I hope you get the idea.

Putting the digits we have found together we get:

log_(10_2) 111_2 ~~ 10.11001_2 = 2+25/32 ~~ 2.8

Actually log_2(7) ~~ 2.80735