Floating point numbers are scientific notation encoded in binary, and every quirk programmers run into — 0.1 + 0.2 landing on 0.30000000000000004, NaN comparing unequal to itself, a subtraction silently destroying twelve digits of precision — falls directly out of that one design choice. This is IEEE 754 explained from the bit layout up, including the 1991 Patriot missile failure that a rounding error in a 24-bit clock register caused.
Floating-Point
-
Floating Point, Finally