A naive question about single precision

If you look at past hardware, the meaning of real was not the 32-bit format which is widespread today on x86-64:

  • UNIVAC 1100/1200
    • single precision – 36 bits: sign bit, 8-bit characteristic, 27-bit mantissa
    • double precision – 72 bits: sign bit, 11-bit characteristic, 60-bit mantissa
  • IBM 704
    • single precision – sign bit, an 8-bit excess-128 exponent and a 27-bit magnitude.

The Science Musem blog post on Dorothy Vaughan mentions an IBM 360/195. The references pages for this machine also show it had an “extended execution unit” with a 28-digit fraction for floating point. You can read more details in IBM hexadecimal floating-point

To see how different the floating point representations were on past architectures, you can have a look at the r1mach and d1mach routines (Index of /port/Mach). @jacobwilliams wrote a blog about them recently titled D1MACH Re-Revisited. Concerning precision another interesting read I can suggest you is How Many Decimals of Pi Do We Really Need? by NASA/JPL Edu.

More importantly the engineers and scientists working in the space program went to great length to study the effect that modelling and rounding errors had on their predicted trajectories, and devised ways to correct them. The main invention here was the Kalman filter. You can read more about it in

On Page 10 of the McGee report studies of word-length effects done at Ames Research Center (ARC) are mentioned:

The report mentions they performed the simulations on an IBM 704.