Floating Point Representation • Number Representation Systems • Base Conversions • Binary Arithmetic • Micro-Operations • Arithmetic Logic Units (ALUs) • The 74181 ALU • SIMD Extensions • Key Takeaways
In floating point representations (float, double, long double), there is an implied 1 that we don't actually store.
Why? Because floating point numbers are normalized.
When we represent a floating point number, we normalize it to the form:
1.fraction × base^exponent
Example in binary:
101.1011.01101 × 2^2Since we always force the number to be 1.something, we know the leading digit is always 1!
Instead of wasting a bit storing the 1, we only store:
1.)This gives us one extra bit of precision at the end of the fraction!