Type 0.1 + 0.2 into Python. Go on, try it.

You might expect 0.3. You would get 0.30000000000000004.

A machine that can simulate entire worlds, beat grandmasters at chess, and guide rockets to Mars — and it cannot add up two simple numbers. What is going on?

Computers Only Speak Binary

Here is the problem. Humans count in base 10 — we have ten fingers, so we have ten digits (0 through 9). When we write 0.1, we know exactly what we mean.