Celsius to Fahrenheit conversion is one of the few remaining areas where doing the math in your head can be simpler and faster than looking it up. I’ve spent some time in Celsius countries and I still have no intuitive feel for how warm or cold any Celsius temperature is. With Fahrenheit it’s easy to think in 10 degree increments – temperatures in the 70s are easy to distinguish from temperatures in the 60s, etc. This method is not very useful for Celsius temperatures since a Celsius reading in the 20s can be anything from 68 to 84 Fahrenheit.

I spent some time thinking of a mental algorithm that could be relatively precise yet simpler than the math for the official converison (Fahrenheit = 9/5 * Celsius + 32). Fractions are difficult so I never find it worthwhile to attempt to do the conversion in my head. The simplest algorithm I’ve used is to double the Celsius temperature value and add 30. That is a decent fall back, but at warmer termperatures it will yield a too high Fahrenheit temperature, and at cooler temperatures the Fahrenheit value will be too low.

An ideal algorithm would be simple to calculate and easy to remember. The first method I thought of is this: Take 2 times the temperature Celsius, subtract the first digit of the result, and add 32 to get the degrees Fahrenheit. It works in reverse too, though I almost never need to do that calculation: take Fahrenheit and subtract 32, then subtract the first digit from the result, then divide by 2 to get the degrees Celsius.

For example, for 22 degrees Celsius: 22 Celsius * 2 = 44. Subtract 4 (the leading digit) and add 32 = 72 Fahrenheit. This method is consistently accurate. The problem with this method is remembering to only subract the tens digit and not subtracting anything if the Celsius temperature is 0-4 (the doubled value would be only one digit, so the first digit in that case could be thought of as 0). Also adding 32 is more difficult than adding 30, though it is easy to remember, since almost everyone knows that 0 degrees Celsius = 32 degrees Fahrenheit. Also, for negative Celsius temperatures you would subtract a negative, so you would have to add the tens digit. So -22 degrees Celsis would be: -22 * 2 = -44. Subtract -4 (so add +4) to get -40. Add 32 to -40 = -8 degrees Fahrenheit.

I was disappointed to learn that others had thought of this algorithm before me. I found it interesting that in this thread someone claimed that this method was just as complicated as the correct conversion equation. I disagree with that, and I think many people prefer to avoid fractions. However, it seems that this method could be a bit hard to remember, and it is not that much simpler.

I tried to think of a simpler method that would involve adding only thirty to simplify the addition part. The best I could come up with is similar to the first method, but less precise. Take the degrees celsius and subract the tens digit (if it is negative, add the tens digit). Double that number, then add 30.

For example: 22 degrees Celsius: take 22 degrees and subtract the first digit (2) to get 20. Double that to get 40, then add 30, to get 70. It’s reasonably close to the correct value.

This method would actually be more precise for positive Celsius values by adding 31. It works okay for adding 32, and is more precise for negative Celsius values than adding either 32 or 31. Ultimately I think the second method is less useful than the first method since it is probably harder to remember, even though computationally it might be a little easier.