
Temperature Conversion: Mental Calculation (2014) - grepgeek
https://susam.in/blog/temperature-conversion/
======
u801e
The way I convert is to remember that 32°F is 0°C and then count by "nines"
for Fahrenheit to get the desired temperature in Celsius.

    
    
      32°F = 0°C
      41°F = 5°C
      50°F = 10°C
      59°F = 15°C
      68°F = 20°C
      77°F = 25°C
      86°F = 30°C
      95°F = 35°C
    

It's also pretty easy to remember that 10°C = 50°F and 35°C = 95°F if you want
to go forward or back from there with the same counting method.

~~~
tomger
For weather purposes the approximation seems accurate enough. Here’s a table
listing the differences:
[http://tomgermeau.com/tools/FC/](http://tomgermeau.com/tools/FC/)

~~~
frutiger
This is not an approximation. The conversion formula is:

C = 5/9 * (F - 32)

So GP's table is exact.

~~~
tomger
The article refers to C = 2 * (F - 30) as an approximation

~~~
frutiger
Ah, I had mistaken your reply, and assumed it was to /u/u801e and not the
linked article.

------
evanb
If you know the stops of the 6 train in Manhattan, the trick is that the stops
are in Fahrenheit starting at 33rd street = 0˚ C. Each stop up town is +5˚C.
Stays within 1˚C until 110th street.

~~~
gowld
So, every 9 streets from 33rd?

~~~
evanb
Not quite.

The stops are 33, 42, 51, 59, 68, 77, 86, 96, 103, which can also be read as
˚F.

The exact conversions are (˚C) 0.555, 5.555, 10.555, 15, 20, 25, 30, 35.555,
39.444 (I terminated the decimal repetitions, obviously)

The rule of thumb of 5˚ per stop is 0, 5, 10, 15, 20, 25, 30, 35, 40.

Note that eg. 51-59 is 8 blocks, 86-96 is 10 blocks, 96-103 is 7. But the rule
of thumb is nevertheless good to ~half a degree ˚C the whole way.

------
jiananli_
A much faster approximation that is not too far off over the range of everyday
non-extreme temperatures:

C → F: times 2 then plus 30

F → C: minus 30 then divide by 2

~~~
thedanbob
This is what I use. I'm not quick with arithmetic in my head so if I want
anything more accurate it's faster to just grab my phone.

~~~
thisacctforreal
FWIW iOS Search (swipe down from the middle of the Home screen) can do
conversions too.

[https://i.imgur.com/16AAqDG.png](https://i.imgur.com/16AAqDG.png)

------
bscphil
Personally I think the usual issue with the standard conversion is doing 9/5,
but it actually isn't that bad. The way I convert is

C * 2 - C / 5 + 32, where I just round C to the nearest multiple of 5 before
dividing to make it easy.

24C times 2 is 48, 24 / 5 ~= 5, so 43 + 32 = 75. Off by less than a half a
degree, which (thinking about it for 15 seconds or so) I think is guaranteed
under this system.

The most important thing is that this is easy to remember because it's
basically just the real conversion, but also easy to do in your head.

~~~
dminor
It's even easier if you consider that C/5 is 1/10 of 2C. So, just double C and
then subtract 10% of the result.

~~~
mrep
Kind of like how I calculate the tip: move the decimal place 1 over, double it
and then round down.

------
tzs
The refined C to F conversion given is:

    
    
      F = 2*(C-floor(C/10)) + 31
    

Better is:

    
    
      F = 2*C - round(2*C/10) + 32
    

That's almost as easy to do in your head, but always gives the same result as
doing the exact conversion and rounding that:

    
    
      F = round(9*C/5+32)
    

Also, if you would like the exact conversion, when you do the round(2*C/10)
you can note how much the round changed the value, and that tells you how far
off your final integer F temperature is from the actual value. You are high by
that amount if the rounding was down, or low by that amount if the rounding
went up.

------
imurray
Numerical implementations of functions often use look-up tables, and there's
sometimes a trade-off between number of operations and memory access. (Large
look-up tables aren't cache-friendly.)

This blog-post is from someone who prefers to do less mental arithmetic, but
remember a few numbers: [http://www.theexclusive.org/2012/08/converting-
fahrenheit-in...](http://www.theexclusive.org/2012/08/converting-fahrenheit-
into-celsius.html)

~~~
susam
Thanks for sharing the theexclusive.org link. The trick discussed there is
quite nifty. Here's a nice way to recall the lookup table mentioned there, in
case, one forgets it:

\- It is easy to remember that 0 °C = 32 °F because it is the freezing point
of water.

\- Every 10 °C interval corresponds to an interval of 18 °F. That's where the
9/5 in the conversion formula F = (9/5) * C + 32 comes from.

\- Now it is easy to construct the lookup table: 10 °C = 50 °F, 20 °C = 68 °F,
and 30 °C = 86 °F.

------
bonyt
I've been avoiding doing mental calculations at all for this. I set my apple
watch to display the temperature in Celsius, and every time I look at it, I
get another data point in my mind to correlate to how it feels outside. This
way, I can learn it independent from Fahrenheit.

------
rdiddly
Honestly I don't find this approximation any easier than the exact formula.
They're each three steps. I was actually more excited to learn about the crude
approximation that's only two steps, and the "memorize one conversion and go
from there" method.

------
Ragib_Zaman
Edit: The original comment below did not take into proper account the
significance of taking the floor in the approximations, rendering it mostly
useless. \----

If the "refined approximation" assumes it's easy to 1) subtract 10% 2) double
and 3) add 31, then it should be just as easy to 1) double 2) subtract 10% and
3) add 32 - i.e. the exact conversion formula.

~~~
susam
That's right. In fact, the latter would be just as easy as 1) subtract 10% 2)
double 3) and add 32, i.e., the exact conversion formula again.

In other words, (c - c/10) * 2 + 32 = 2c - 2c/10 + 32 = 9c/5 + 32.

The only difference between the refined approximation and your approximation
is 31 vs. 32 in the last step. The rationale for choosing 31 is explained in
the "Analysis" section of the blog post. To summarize, when we subtract 10% in
the approximation method, we do not perform an exact division. Instead, we
perform a floor division (discard the fractional part) for easier mental
calculation. The floor division introduces an error that lies in the interval
[0, 2). If we subtract 1 from the result, then the error lies in the interval
[-1, 1). Therefore, in order to prevent the magnitude of error from exceeding
1 °F, we add 31 instead of 32 in the last step.

Also, I find subtracting 10% of smaller number from itself slightly easier
than doing so with a larger number. That's why the subtraction step comes
before the doubling step.

~~~
Ragib_Zaman
Ahh fair enough. I should have spent more time understanding your rationale.
I'll edit my original comment to reflect that.

------
mikeash
I memorize some 10s. 0 is 32, 10 is 50, 20 is 68, 30 is 86. Extend beyond
what’s memorized by using the ratio 10/18\. I don’t have 40 memorized, but
it’s easy to figure that it’s 104. Then use the approximation of 1C=2F to fill
in the gaps. High today is 34? That’s 94. Thermostat says 72? That’s 22.

~~~
hyperpape
If you are ok with being slightly off, you can combined memorizing tens with
the approximation that 1C = 2F. Going up or down from the nearest 10C, you’ll
never be off by more than 1F.

------
JshWright
I'm very pro-metric, but Fahrenheit is nice for "human scale" temperatures. 0F
is "very cold" and 100F is "very hot", with plenty of precision in between.
0C, on the other hand, is "kinda chilly" and 100C is "Oh my god, I'm dying".

~~~
IgorPartola
0 in C is useful as the point of freezing. Very useful for determining things
like whether rain is likely to turn to ice on roads, etc. I guarantee you that
if you grew up using Kelvin, you’d be defending it right now. Spend a year
looking at nothing but Celsius and you won’t need to go back: 0 and below is
cold, 10 is spring time, 15 is jacket optional, 20-25 is warm, and 25+ is hot.
That’s all you really need.

~~~
JshWright
I'm not "defending" it... I'd be all for a wholesale switch to metric units. I
simply said it's "nice" in one specific context.

~~~
IgorPartola
Ah that’s fair. Sorry I misread that.

------
michelpp
It doesn't help much for people visiting here in the US, but when I travel
outside the country I use this handy rhyme:

30 is hot 20 is nice 10 is cold 0 is ice

------
Davertron
Does anyone have resources for other shortcut calculations for similar things?
This particular one comes up a lot when speaking with my wife's family
(they're from Mexico) but I've never tried to come up with a shortcut before.
I'd love to see links to other resources, or recommendations for Math tricks
for doing quicker mental math.

~~~
I_complete_me
No resource but there is a similar conversion trick for kilometers to miles.
Divide by two and add a tenth. viz: 60 km = 60/2 + 60/10 = 30+6 = 36 miles.
Not exact but near enough for many cases.

------
softwaredoug
I remember the mnemonic "16 is 60". (as in 16C = ~60F)

Being a programmer I know 16*2 = 32 ~90. And its easy to remember that 0 is
freezing... Covers most ranges of everyday conversation of temperature with
non US friends :)

------
raverbashing
My heuristic goes like this

20C ~ 70F (ok it's 68F but close enough)

a variation of +10F is +5C (same for minus)

Of course you can remember that 32F = 0C, that helps

------
philipps
20 C > 68 F

30 C > 86 F

~~~
susam
-40 °C = -40 °F.

A related joke:

Saul: It's -40 outside.

Paul: Fahrenheit or Celsius?

Saul: When it's that cold, it's impossible to tell the difference.

------
IgorPartola
Or we can stop using freedom units and join the rest of the world. Take a
small step to make this happen right now: set your phone and thermostat to
show you the temperature in Celsius. I did this and my kids are growing up
with an intuitive understanding of what 20 degrees C feels like.

~~~
brownbat
I want to be careful, this could get holy war-ish...

So I do not want to sell anyone on changing their view. This isn't advocacy.
But just want to provide one illustration of why someone may prefer
Fahrenheit.

When I travel, hotel rooms generally let me alter the temperature on digital
thermostats by one degree. In the US, that's great, that's plenty of
precision. In Europe, I lose fidelity and am strictly worse off.

If people like a room set at 71 degrees, they don't like 72 or 70. If they
like it at 75, they aren't secretly shooting for 76.

When I'm cooking in an oven or sous vide, I often want to tweak controls very
precisely in an attempt to balance the carmelization of sugars or the
rendering of fats while leaving proteins or starches intact.

Room temps, weather, and cooking are the ways I mainly interact with these
scales. In each of them, the precision of the base unit in F is strictly
advantageous to me.

Celsius can absolutely allow greater granularity, if everyone used an extra
significant digit as a rule. I blame psychology though, people and systems
often just don't bother to think that way.

I wholly support the metric system to unify measurement across different
scales. That's neat. But as I rarely need to talk about millidegrees or
gigadegrees, it seems less relevant to me in this context.

~~~
stephen_g
To somebody who lives in one of the few hundred countries that uses Celsius,
this just seems like a non-problem... While a lot of air conditioners adjust
in single degree steps, plenty exist that go up or down in half degrees. A
sous vide would probably adjust with a single decimal point. Digital
thermometers basically also always do also. My weather app says it’s 16.1
degrees C outside right now... Easy...

Your comment about psychology is actually just you mistaking familiarity with
your temperature system with something more universal. In countries where we
use metric/Celsius, we find decimals super easy to think in because we’re used
to doing it!

------
technothrasher
For setting the a thermostat, it's not that hard to simply switch your brain
over and know what's comfortable inherently in either F or C without doing a
conversion back and forth. For accurate conversion, if c=(f-32)/1.8 or the
converse is really that troublesome, Google can help you out.

~~~
saagarjha
For setting a thermostat, it rarely matters enough for you to know the exact
value you want. I can get within a degree or so just by memorizing a handful
of conversions and then interpolating between them.

