frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

Open in hackernews

Estimating Logarithms

https://obrhubr.org/logarithm-estimation
100•surprisetalk•3d ago

Comments

xeonmc•1d ago
Protip: since halving and doubling are the same logarithmic distance on either sides of unity, and the logarithmic distance of 2.0 to 5.0 is just a tiny bit larger than that of doubling, this means that you can roughly eyeball the infra-decade fraction by cutting them into thirds
thechao•1d ago
I don't know about powers-of-10; but, you can use something similar to bootstrap logs-in-your-head.

So, 2^10=1024. That means log10(2)~3/10=0.3. By log laws: 1 - .3 = 0.7 ~ log10(5).

Similarly, log10(3)*9 ~ 4 + log10(2); so, log10(3) ~ .477.

Other prime numbers use similar "easy power rules".

Now, what's log10(80)? It's .3*3 + 1 ~ 1.9. (The real value is 1.903...).

The log10(75) ~ .7*2+.477 = 1.877 (the real answer is 1.875...).

Just knowing some basic "small prime" logs lets you rapidly calculate logs in your head.

madcaptenor•1d ago
For log(3) I prefer the "musical" approximation 2^19 ~ 3^12. This is a "musical" fact because it translates into 2^(7/12) ~ 3/2 - that is, seven semitones make a perfect fifth). Together with log(2) ~ 3/10 that gives log(3) ~ 19/40.

Also easy to remember: 7^4 = 2401 ~ 2400. log(2400) = log(3) + 3 log(2) + 2 ~ 19/40 + 3 * 12/40 + 2 = 135/40, so you get log(7) ~ 135/160 = 27/32 = 0.84375.

thechao•1d ago
These are both great! I learned most of these old tricks from my dad & grandfather.
thechao•18h ago
I'll double-reply, since I think people might also appreciate this... there's a pretty easy way to find the square of 2-leading-digit numbers (and square-roots, too.)

Direct square: 54^2 = (50 + 4)^2 = 2500 + 2 * 50 * 4 + 4^2.

Direct square-root: 3800 = (61^2=3721) + r ~ (61 + (3800-3721)/(2*61) = 61 + 79/122. To check: (61 + 79/122)^2= 3,800.419. You can estimate the "overhead" by noting that 79/122 ~ 2/3 => (2/3)^2 = 0.444.

Of course, my grandfather would've just used a slide-rule directly.

briian•1d ago
So much of economics maths/stats is built on this one little trick.

It's still pretty cool to me that A this works and B it can be used to do so much.

saulpw•1d ago
Here's all you really need to know about logs when estimating in your head:

The number of digits minus one is the magnitude (integer). Then add the leading digit like so:

1x = ^0.0

2x = ^0.3 (actually ^0.301...)

pi = ^0.5 (actually ^0.497...)

5x = ^0.7 (actually ^0.699...)

Between these, you can interpolate linearly and it's fine for estimating. Also 3x is close enough to pi to also be considered ^0.5.

In fact, if all you're doing is estimating, you don't even really need to know the above log table. Just use the first digit of the original number as the first digit past the decimal. So like 6000 would be ^3.6 (whereas it's actually ^3.78). It's "wrong" but not that far off if you're using logarithmetic for napkin math.

xeonmc•1d ago
And this is also the basis of the fast inverse square root algorithm. Floating point numbers are just linear interpolations between octaves.
thomasahle•1d ago
What is this ^notation?

Looks like 5x=^0.699 means log_10(5)=0.699.

xeonmc•1d ago
5 = 10^0.699
saulpw•1d ago
It's magnitude notation. ^X is short for 10^X.
dhosek•1d ago
The pi = ^0.5 bit reminds me of a college physics professor who was fond of using the shortcut π²=10.
madcaptenor•1d ago
This is wrong, π² = g, the acceleration due to gravity.
brucehoult•1d ago
Slightly more accurate ..

    1: 0.0
    2: 0.3
    3: 0.475
    4: 0.6 (2*2)
    5: 0.7
    6: 0.775 (2*3)
    7: 0.85
    8: 0.9 (2*2*2)
    9: 0.95 (3*3)
The biggest error is 7 at +0.577% ... 0.845 is almost perfect. The others are maximum +0.45% off.

So you only need to remember:

    2: 0.3
    7: 0.85
    9: 0.95

    1.4 = sqrt(2) -> 0.15
    3 = sqrt(9) -> 0.95/2 = 0.475
    pi = ~sqrt(10) -> 0.5
    4 = 2*2 -> 0.6
    5 = 10/2 -> 0.7
    6 = 2*3
    2pi = 2*sqrt(10) -> 0.3+0.5 = 0.8
    8 = 2*2*2 -> 0.9
madcaptenor•1d ago
You barely even have to remember

  9: 0.95
since you can get it by interpolation between 8 and 10.
brucehoult•1d ago
Yup.

Put the effort into remembering a 3 digit log for 7 instead?

Or keep the same precision with ...

    7 = ~sqrt(100/2) -> (2-0.3)/2 = 1.7/2 = 0.85
Log 2 is all you need?

Or even ...

    7 = sqrt(sqrt(2401)) = (3*8*100)^(1/4) -> 0.95/8 + 0.3*3/4 + 2/4 = 0.12 + 0.225 + 0.5 = 0.845
VERY accurate, but that's getting to be too much.
arkeros•1d ago
You also don't need to remember 7, as 2*7^2 =~ 100 => log 7 =~ (2 - 0.3) / 2 = 0.85
brucehoult•9h ago
Yes, as I mentioned in one of my other replies. Or 2400^0.25.

Same for 9: sqrt(81) = sqrt(8 * 10) -> (0.3*3 + 1) / 2 = 0.95

At some point it's easier to remember a few numbers than calculate a lot of formulas.

adrian_b•18h ago
I find much more useful to memorize the inverse of that table, i.e. the decibel table.

The numbers corresponding approximately to 0 dB, 1 dB, 2 dB, 3 dB etc. (1.0, 1.25, 1.6, 2.0 etc.; more accurate values, like 1.26 or 1.58 instead of 1.25 and 1.6 are typically not needed) are also frequently encountered as such in engineering practice as belonging to various series of standard nominal values, which makes them more useful to have in mind.

Then for any mental computation, it is trivial to convert mentally a given number to the corresponding dB value, perform the computation with additions and subtractions instead of multiplications and divisions, then convert back the dB value to the linear number corresponding to the result.

Doing mental computations in this way, even if it has only about 2 correct digits at most, is enough for debugging various hardware problems, or even for catching software bugs, where frequently an impressive numbers of significant digits is displayed, but the order of magnitude can be completely wrong.

madcaptenor•18h ago
Since 3 dB is so nearly 2.0, you can derive that series by taking small powers of two, say from 2^(-4) to 2^5 or 2^6:

0.0625, 0.125, 0.25, 0.5, 1, 2, 4, 8, 16, 32, (64)

and then multiplying everything by factors of 10 to get it between 0 and 10:

1, 1.25, 1.6, 2, 2.5, 3.2, 4, 5, 6.25 (or 6.4), 8

gus_massa•1d ago
Typo near the top, in case someone knows the author:

> log(100)≤log(N)<log(100)

There is a missing 0 in the last log. It should be

> log(100)≤log(N)<log(1000)

obrhubr•1d ago
Thanks for pointing this out :), I fixed it!
stevefan1999•1d ago
Related Wikipedia entry: https://en.wikipedia.org/wiki/Logarithmic_number_system

Also related: https://blog.timhutt.co.uk/fast-inverse-square-root/

(I see that someone already mentioned fast inverse square root algorithm is related to this, which is famously used by John Carmack which is one of my hero who led me into tech industry, despite I didn't end up in gaming industry)

teo_zero•1d ago
The artcle makes a weird use of the notation for successive exponentiations. It's difficult to represent the concept here as only text is allowed, but shortly the author uses a^b^c to mean (a^b)^c. This is counter intuitive as in most mathematical contexts exponentiation is right-associative, that is a^b^c means a^(b^c). A pair of parentheses would remove any doubts!

Quarkdown: A modern Markdown-based typesetting system

https://github.com/iamgio/quarkdown
22•asicsp•23m ago•6 comments

The Metamorphosis of Prime Intellect (1994)

https://localroger.com/prime-intellect/mopiall.html
45•lawrenceyan•4h ago•23 comments

AI makes the humanities more important, but also weirder

https://resobscura.substack.com/p/ai-makes-the-humanities-more-important
99•findhorn•4h ago•45 comments

My AI skeptic friends are all nuts

https://fly.io/blog/youre-all-nuts/
1374•tabletcorry•11h ago•1716 comments

Poison Pill: Is the killer behind 1982 Tylenol poisonings still on the loose?

https://www.trulyadventure.us/poison-pill
20•TMWNN•2h ago•11 comments

Why GUIs are built at least 2.5 times

https://patricia.no/2025/05/30/why_lean_software_dev_is_wrong.html
47•mpweiher•2d ago•26 comments

Cloudlflare builds OAuth with Claude and publishes all the prompts

https://github.com/cloudflare/workers-oauth-provider/
535•gregorywegory•18h ago•354 comments

Ask HN: Who is hiring? (June 2025)

303•whoishiring•17h ago•296 comments

Demodesk (YC W19) Is Hiring Rails Engineers

https://demodesk.com/careers
1•alxppp•1h ago

How to Store Data on Paper?

https://www.monperrus.net/martin/store-data-paper
65•mofosyne•3d ago•21 comments

Show HN: Kan.bn – An open-source alterative to Trello

https://github.com/kanbn/kan
405•henryball•22h ago•180 comments

Conformance checking at MongoDB: Testing that our code matches our TLA+ specs

https://www.mongodb.com/blog/post/engineering/conformance-checking-at-mongodb-testing-our-code-matches-our-tla-specs
72•todsacerdoti•10h ago•26 comments

Show HN: A toy version of Wireshark (student project)

https://github.com/lixiasky/vanta
218•lixiasky•17h ago•66 comments

A Complete Guide to Meta Prompting

https://www.prompthub.us/blog/a-complete-guide-to-meta-prompting
13•saikatsg•2d ago•2 comments

How to post when no one is reading

https://www.jeetmehta.com/posts/thrive-in-obscurity
554•j4mehta•1d ago•233 comments

Show HN: I build one absurd web project every month

https://absurd.website
211•absurdwebsite•12h ago•46 comments

Teaching Program Verification in Dafny at Amazon (2023)

https://dafny.org/blog/2023/12/15/teaching-program-verification-in-dafny-at-amazon/
36•Jtsummers•10h ago•9 comments

Sid Meier's Pirates – In-depth (2017)

https://shot97retro.blogspot.com/2017/12/sid-meiers-pirates-in-depth-written.html
49•benbreen•3d ago•17 comments

Magic Ink: Information Software and the Graphical Interface

https://worrydream.com/MagicInk/
19•blobcode•3d ago•3 comments

Show HN: Onlook – Open-source, visual-first Cursor for designers

https://github.com/onlook-dev/onlook
365•hoakiet98•4d ago•78 comments

Largest punk archive to find new home at MTSU's Center for Popular Music

https://mtsunews.com/worlds-largest-punk-archive-moves-to-center-for-popular-music/
36•gnabgib•10h ago•3 comments

MonsterUI: Python library for building front end UIs quickly in FastHTML apps

https://www.answer.ai/posts/2025-01-15-monsterui.html
55•indigodaddy•11h ago•16 comments

Japanese scientists develop artificial blood compatible with all blood types

https://www.tokyoweekender.com/entertainment/tech-trends/japanese-scientists-develop-artificial-blood/
188•Geekette•10h ago•39 comments

Younger generations less likely to have dementia, study suggests

https://www.theguardian.com/society/2025/jun/02/younger-generations-less-likely-dementia-study
100•robaato•16h ago•94 comments

ThorVG: Super Lightweight Vector Graphics Engine

https://www.thorvg.org/about
116•elcritch•21h ago•36 comments

Ask HN: How do I learn practical electronic repair?

104•juanse•3d ago•67 comments

Typing 118 WPM broke my brain in the right ways

http://balaji-amg.surge.sh/blog/typing-118-wpm-brain-rewiring
135•b0a04gl•12h ago•179 comments

CVE 2025 31200

https://blog.noahhw.dev/posts/cve-2025-31200/
114•todsacerdoti•13h ago•24 comments

The Princeton INTERCAL Compiler's source code

https://esoteric.codes/blog/published-for-the-first-time-the-original-intercal72-compiler-code
136•surprisetalk•1d ago•36 comments

Show HN: Penny-1.7B Irish Penny Journal style transfer

https://huggingface.co/dleemiller/Penny-1.7B
139•deepsquirrelnet•16h ago•71 comments