Floating Point Visually Explained


  • Window/offset is a more intuitive way to think about IEE754 floating points compared to the usual exponent/mantissa. I tend to agree, and this mental model makes the fact that you lose precision as the whole number portion of the decimal gets bigger abundantly clear.
  • The window gets 1 byte, and represents any two consecutive powers of two.
  • The offset gets 23 bits, and represents the range of values within the window (and can represent \(2^{23}\)) discrete values.
  • To translate a decimal into floating point, find the right window that the whole number portion fits into. Find the offset (one of \(2^{23} = 8388608\) possibilities) that matches the remainder as closely as possible.
  • The “default” IEE754 definition (Mantissa, Exponent, Sign):
$$ (-1)^S * 1.M * 2^{(E-127)} $$
  • \(\Pi\) translated to its IEE754 representation, step-by-step: