# Calculating logarithms by hand

#1

Just for fun, let’s calculate all logarithms from scratch.

2
4
8
16
32
64
128
256
512
1024

Now, 1024 is a number we can easily guess the logarithm from => a little over 3.

In other words,
2^{10} = 1024 =>
log(2^{10}) = log(1024) =>
10*log(2) = log(1024) = 3 + log(1.024) =>
log(2) = 0.3 + log(1.024)/10

So the difficult part now is log(1.024).

Let’s use :

Using the triangle, we find that 1.1^7 = 1.9487171, which is almost 2.
Then 1.01^{70} is also around 2.
let’s use 2.

If 70 times leads to 0.3, then one time is 0.0043.

Otherwise stated:
1.01^{70} \approx 2 =>
log(1.01^{70}) \approx log(2) \approx 0.3 =>
70 * log(1.01) \approx 0.3 =>
log(1.01) \approx 0.3/70 \approx 0.0043

2.4*0.0043 is a little over 0.01 .
(we can do this because 1.01 ^{2.4} \approx 1.024 )

Long story short; log(1.024) \approx 0.01

Now we can calculate:
log(2) = 0.3 + log(1.024)/10 \approx 0.3 + 0.001 = 0.301

#2

Here’s a few good resources for mental base 10 logarithms:

More mental logarithm tricks (SEARCH RESULTS): https://www.reddit.com/r/mentalmath/search?q=logarithm&restrict_sr=on&sort=relevance&t=all

#3

A little background. As a kid I always wanted to know how to calculate log 2 and nobody was able to tell me.

Thus I am planning to do a series here - with a bit more precision - and in a way that people can do the calculations themselves.

We just did the logarithm of 2.
Let’s do the logarithm of 3 now.

Just like with the logarithm of 2, we can set up a sequence of numbers where each one is 3 times the previous:
3
9
27
81
243
729
2187
6561
19683

In short 3^9 = 19,683.
Can we guess the logarithm of 19,683?
Well, it is close to 20,000 and the logarithm of 20,000 is 4 + 0.301 = 4.301.

Can we do better? Well, 19,683 is 20,000 minus about 1.6%. 1.6% of 20,000 = 320 and 20,000-320 = 19680, so by using 1.6% we are pretty close.
We calculated 1% to be 0.0043, this means 1.6% must be 0.0069. (Just do 43 times 16. 416=64. 316=48. Shift decimal point, so add 64 and 4.8 to get 688. Round to 69.)

4.301 - 0.0069 = 4.2941.

Again:
(3^9 = 19,683 ) =>
(log(3^9) = log(19,683) \approx 4.2941 ) =>
(9 * log(3) \approx 4.2941 ) =>
(log(3) \approx 4.2941/9 = 0.477122…) =>

(log 3 actually is 0.477121…)

See how close we get?

#4

We already calculated log 2 and log 3.
With these numbers calculated, for the numbers 1-10 we can now fill in the following numbers in three digit precision:

1 = 0
2 = 0.301
3 = 0.477
4 = 2 * log 2 = 0.602
5 = 1 - log 2 = 0.699
6 = log 2 + log 3 = 0.778
7 = ?
8 = 3 * log 2 = 0.903
9 = 2 * log 3 = 954
10 = 1

The only number left to be calculated is 7.
How do we calculate log 7?
Let’s try this:
7 * 7 = 49 and 49 is close to 50 and for 50 we can easily calculate the logarithm.

If log 5 = 0.699, then log 50 = 1.699.
Log 49 is 2% less. If 1% is 0.0043, then 2% is 0.0086.
1.699 - 0.0086 = 1.6904.

7 = sqrt(49), so the log of 7 is 1.6904 / 2 = 0.8452.

(log 7 is actually 0.8451)

Another way is this.
5*7=35 and 35^2 = 1225, which is roughly 1200 plus 2%.
Log 1200 = log 3 + log 4 + log 100 =
0.477 + 0.602 + 2 =
3.079
Log 2% = 0.0086.
3.079 + 0.0086 =
3.0876.
1200 plus 2% is 1224. We are looking for 1225, so to account for the difference let’s round 3.0876 up to 3.088.

In other words, log (35^2) = 3.088.
Then log 35 = 3.088/2 = 1.544.

Log 7 = log 35 - log 5
Log 5 = 0.699
Log 7 = 1.544 - 0.699 =
0.845

#5

We have calculated the following logs:

1 = 0
2 = 0.301
3 = 0.477
4 = 2 * log 2 = 0.602
5 = 1 - log 2 = 0.699
6 = log 2 + log 3 = 0.778
7 = 0.845
8 = 3 * log 2 = 0.903
9 = 2 * log 3 = 0.954
10 = 1

Next number is eleven.
How to calculate log 11? Here is a way to do this.
We can take the geometric mean of 10 and 12.

The geometric mean between 10 and 12 is sqrt(10 * 12) = sqrt(120).
However; to be precise, for log 11 we need log(sqrt(121)).
120 is close to 121 though. We need a small correction to be precise (0.833%).

log 120 = log (1043) = log 10 + log 4 + log 3= 1 + 0.477 + 0.602 = 2.079

Now we add the small correction.
We calculated log (120) and we need log(121).

1/120 = 0.833… %
If the log of 1% = 0.0043, then 0.833% = 0.0043 *0.833 = 0.00358.
2.079 + 0.00358 = 2.08258.
2.08258 / 2 = 1.04129

log 11 = 1.04139

#6

Thanks Kinma, I’ll be going through this and seeing whether I can get this through my thick logarithm hating skull…

A question though, I keep seeing mention of “anti-logarithms”, what are they and how do they relate to what you’ve done here?

#7

The anti-logarithm is just the reverse as taking the logarithm.
If log 2 = 0.301, then 10^0.301 = 2.

#8

So stated differently (to check my own understanding) 10^log(2) = 2 for base 10 logs… Okay, that part at least seems fairly simple… Oooh, okay I think I get it, I was starting to say that “anti-log” is a fancy way of saying “number the log came from” but it’s really more of a function from log x to x with slightly crappy notation. I still need to completely wrap my head around this (may write some code to do this, that’s how I usually figure out math), but I think I at least finally understand the log/anti-log thing. Thank you Kinma, it’s the first time I managed to understand /anything/ about logarithms and it feels really nice. May, just maybe I can understand this too.

#9

Okay, so my first question. Based on what I’m doing I’m noting three things. As far as I can tell you are mixing the base 2 log and the base 10 log without mentioning where this switch came from. log_10(1000) = approx 3, log_2(1000) = 9.9657. Second I cannot get 3 + log_2(1.024) = log_2(1024) to work at all, even when switching bases (not to mention that I’m not at all certain where the “1.024” came from). Further given the number you gave (approx 0.301) (3 + log_10(1.024))/10 gets on pretty close to that actually.

If I work this out I’ll post what I get, although given how confused I am right now I’d appreciate help.

#10

Here’s an interesting way to calculate logs in your head. You need to memorize some numbers first, but that might appeal to the mental gymnasts on this forum:

I’ve memorized half of the numbers already. I’ll memorize the numbers in the second column some other time - if I remember.

As soon as the word “approximations” is mentioned, old-fashioned engineers will automatically think of numerical methods such as Taylor Series or McLaurin Series.

The problem with these methods - if I remember correctly - Is that they converge very slowly for functions that involve logs.

Much faster convergence is given by Newton’s method. Two or three iterations will give you a result that is almost as accurate as a hand calculator:

The advantage of Newton’s method is that it uses first derivatives. So functions that use logs to the base 10 will automatically convert to natural logs, which are much easier to calculate:

I can’t see that assignment anywhere in the OP.

I suspect you might be misreading the following two lines:

10∗log(2)=log(1024)=3+log(1.024)10∗log(2)=log(1024)=3+log(1.024) =>
log(2)=0.3+log(1.024)/10

Note that the first of these lines - by successive equalities - evaluates to:
10∗log(2)=3+log(1.024)

If you divide that assignment throughout by 10, you arrive at the second line:
log(2)=0.3+log(1.024)/10

@egency: as a footnote, all the logs in the OP are to the base 10. There are no natural logs anywhere - nor are they needed. I mention natural logs in this current post, but that’s because Newton’s method uses first derivatives. Pure mathematicians will always use natural logs, denoted by ln. Applied mathematicians (AFAIK) and engineers will almost always use logs to the base 10, denoted by log.
.

#11

I am not mixing bases. It might look like it though.

I am merely saying:

(2^{10} = 1024 )

then (log(2^{10}) = log(1024) )

this can de rewritten as:

(10 * log(2) = log(1024) \approx 3)

For the sake of simplicity I round log(1024) to 3. log(1000) = 3 and 1000 is close to 1024.

Divide by 10, we get:
(log(2) = log(1024)/10 \approx 3/10 = 0.3)

In short:
(log(2) \approx 0.3)

(all logs in this post are base 10)

#12

I use 1024, because it is 2^10 and also because 1024 is just more than 1000, the latter we know the log equals 3, so the log of 1024 is just a tiny bit over 3.

The rest of that post is to work out the extra 2.4%.

I do kind of the same in calculating log 3. I run the progression until I find a number that seems easy to work with. In that case a number close to 20,000.

#13

Hello

I used a simple formular for log(n+a) ≈ log(n) + 0.0101 x (43 x a) / (n + a/2).
You need to learn log(2) = 0.301030; log(3); … ; log(19).

log(7,483,679) = 6 + log(7.483679) = 6 + log(7.5) + 0.0101 x (43 x 0.016321)/(7.5 - 0.0081605)

= 6 + log(30) - log(4) + 0.0101 x 0.701803/7.4918
= 6 + 1.477121 - 0.60206 - 0.000946
= 6.874115

And for 10^z ≈ 2n x (z-log(n)) / (0.8686 - (z-log(n)))

10^6.874115 = 10^6 x 10^0,874115

You need practice and a little bit of intuition to find a good approximation.

= 0,874115 - (1.176091 - 0,30103) = -0.000946

= 2 x 7.5 x -0.000946 / (0.8686 + 0.000946) ≈ 0.01419/0.8696
= 10^6 x (7.5 + (-0.016318) = 7.483.682

#14

Great guesstimation formula! I love it. Works especially well if a is small compared to n.

#15

Log 13

In previous posts, we have calculated all numbers until 11.
12 can be found by adding log 3 to log 4.
So the next unknown number is 13.

For calculating log 13 there are a number of ways to get to an answer.
For now, let’s focus on this: 3 times 13 = 39, and 39 is 2.5% less than 40 and since we have already calculated log 4 = 0.602, we know what log40 is. If log 4 is 0.602, then log40 is 1.602.

The 2.5 % reduction to get from 40 to 39 is almost already calculated.
Remember when we calculated log2 by looking at 2^10 = 1024, we realized that log 1024 = 3.01. So if we add 2.4% to a base number, the log will increase by 0.01. Then if we subtract 2.4%, the log is -0.01. 2.5% subtraction will be a tiny bit more, so let’s take -0.011.

log40 = 1.602
39 is ’ 40 minus 2.5%’, is -0.011. 1.602 - 0.011 = 1.591
13 = 39/3, so take 1.591 and subtract 0.477. 1.591 - 0.477 = 1.114.

#16

Log 17

After log 13 comes log 14, which can be calculated by adding log 2 and log 7.
log 15 = log 3 + log 5
log 16 = 4 x log 2

So the next number is 17.
One way of getting towards the log of 17 is using 3 x 17 = 51.

From the previous posts we know the log of 50.
51 is just 2% more.
So take the log of 50 = log (100/2) = 2 - 0.301 = 1.699 and add the log of 2% or log 1.02.
From the previous post we know that log 1.025 = 0.01.

For log 1.02 we can just take a linear interpolation or 2/2.5 X 0.01 = 0.008.

So log 51 = 1.699 + 0.008 = 1.707.
Then log 17 = log (51/3) = 1.707 - 0.477 = 1.230.

#17

Log 19

In the previous post we calculated log 17.

Log 18 can be calculated by adding log 2 and log 9.

So the next one is log 19.
We can take 3 X 19 = 57 and use 60 - 5%. However, the 5% is a bit too wide and might introduce errors in the last digit. Better to search for a number with a smaller difference.

Let’s try 19 X 19 = 361.
log 360 is easy to calculate as it breaks down into 6 X 6 X 10.
Then we are 1 off. This is less than 0.3%.

Let’s do this.
log 360 = 2 X log 6 + log 10 = 2 X 0.778 + 1 = 2.556.

Now add ( log(1 + 1/360) \approx 0.43/360 \approx 0.0012 )

Add 0.0012 to 2.556 gives 2.5572.
Now, since this is 19X19, divide 2.5572 by 2.

If the last step went too quickly, try to see it this way:
Log (19X19) = 2 X log 19 = 2.5572.
If 2 X log 19 = 2.5572 then
log 19 = 2.5572 / 2 = 1.2786.

A calculator gives log 19 = 1.27875, so - again - we are pretty close!

#18

Let’s continue.

Log 23

In the previous post we calculated log 19.
Log 20 can be calculated as log 2 plus log 20
Log 21 is log 7 plus log 3
Log 22 is log 11 plus log 2
Log 23. 23 is prime and so is the next one that needs to be calculated.

This works:
23^4 = 279,841 \approx 280,000 minus 0.06 %.

log 280,000 can be easily calculated:
log 280,000 = log 4 + log 7 + log 10,000 \approx 0.602 + 0.845 + 4 = 5.447.

Subtract ‘log minus 0.06%’ \approx -0.0000258 (multiply 6 by 43 = 258).
However; this is too small a number when we calculate with 3 or 4 digits precision.

If Log 23^4 = 5.447, then log 23 = 5.447/4.
So all that is left to do if division by 4:
5.447/4 = 1.3617

The calculator gives 1.36172784.