Hacker News new | past | comments | ask | show | jobs | submit login
Temperature Conversion: Mental Calculation (2014) (susam.in)
74 points by grepgeek on July 21, 2019 | hide | past | favorite | 55 comments



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.


For weather purposes the approximation seems accurate enough. Here’s a table listing the differences: http://tomgermeau.com/tools/FC/


This is not an approximation. The conversion formula is:

C = 5/9 * (F - 32)

So GP's table is exact.


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


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


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.


So, every 9 streets from 33rd?


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.


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


Both of these are in the article, under "crude approximation". The criticism made in the article was that it can be off by ~3 degrees Fahrenheit at normal temperatures.


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.


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

https://i.imgur.com/16AAqDG.png


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.


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.


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


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.


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...


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.


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.


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.


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.


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.


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


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.


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.


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".


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.


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.


Ah that’s fair. Sorry I misread that.


I'm not convinced - even in the UK which has a mixture of mostly metric and some Imperial units in common usage all temperatures are in C and I've never heard anyone complaining about it.

As an example of this weird mixture: today I drove 48 miles at 60 or 70 mph to walk 20km up a mountain that is 975m high because it is over 3000 ft high.


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


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.


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.


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 :)


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


20 C > 68 F

30 C > 86 F


-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.


16=61. Much more useful summer conversion temperature in Ireland.


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.


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.


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!


Temperature sensors in thermostats are nowhere near as precise as you seem to believe. And unless you have calibrated your sous vide to a standard I am willing to bet good money its not anywhere within 1 degree precision (having tested this.. you’re lucky to get +/- 3 C). Also nothing in cooking requires the precision down to fractional degrees C. You’re not going to obtain it anyway, even if you think you are.

Everything you’re saying is all in your head.


The user interfaces let you input temperatures with more precision. But i would be astounded if the thermostats actually regulated the temperatures with that much accuracy. Have you tried measuring the temperatures actually attained?


What if I want 0.25 degree adjustments? Can we all make and use a scale that lets me do that? This is a non problem for most of the world’s population. And if it is a problem, we can fix it by creating thermostats that work in C and let you have half degree adjustments. That’s your billion dollar idea.


I don't find the range of temperatures of distilled water at sea level from freezing to boiling particularly useful for thinking about the weather. A more arbitrary scale like F works just as well maybe even better since 100F is too hot. However 0 as the temperature your seedlings will freeze is useful so C has that going for it.


You got them on meters and liters as well?


Liters don’t come up much and those are going to be a lot harder given that every gas station is in gallons only. Meters no, centimeters yes. They are 6 so they mostly measure small stuff. I use grams for cooking too. Who thought that “1 cup of cheese” was a reasonable measurement?


>Who thought that “1 cup of cheese” was a reasonable measurement?,

It’s easier to use a 1 cup scoop to grab something quickly than it is to weigh something out.


Which cup?


In case you are not from the US, an official freedom unit of volume is a cup which equals 8 fluid ounces (not the same as ounces which are a unit of weight; yeah it really is that dumb). Almost all cooking recipes use teaspoons (5ml), tablespoons (15 ml), or fractions of a cup (1 fluid oz, 29 ml or so), including for measuring things like cheese, herbs, pasta, etc. No American recipe website will ever say “use 200 grams of butter), it will tell you how many cups of butter to use.


And American Fluid Oz are not the same as real Imperial Fluid Oz which is another difference to work with.


Or how many sticks of margarine, according to their favourite margarine brand.


I did this years ago and it hasn’t worked yet.


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.


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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: