Normalisation ensures that the fraction (also called the mantissa) is in the form 1.xxx…. This maximises the precision that can be stored for a given number of bits.
Why Normalise?
Provides a unique representation for each non‑zero value.
Allows the exponent to be used to shift the binary point, giving a wide dynamic range.
Facilitates comparison, addition and subtraction by aligning exponents.
Structure of a Binary Floating‑point Word
Field
Number of Bits
Purpose
Sign (S)
1
0 for positive, 1 for negative
Exponent (E)
8 (single precision) or 11 (double precision)
Stores the exponent with a bias (127 for single, 1023 for double)
Fraction / Mantissa (F)
23 (single) or 52 (double)
Stores the bits after the leading 1 (the hidden bit)
Steps to Normalise a Binary Floating‑point Number
Convert the decimal number to binary.
Identify the position of the first ‘1’ to the left of the binary point.
Shift the binary point so that exactly one ‘1’ appears to the left of it, producing the form 1.xxx… × 2^k.
Calculate the exponent k (the number of positions the point was moved).
Apply the bias: storedExponent = k + bias.
Place the bits after the leading ‘1’ into the fraction field (pad with zeros if necessary).
Set the sign bit according to the original number’s sign.
Example 1 – Normalising a Positive Decimal
Normalise \$13.625\$ in single‑precision (bias = 127).
Binary of \$13.625\$: \$1101.101\$.
Shift point three places left: \$1.101101 × 2^{3}\$.
Zero: All exponent and fraction bits are 0; sign bit distinguishes +0 and –0.
Denormalised numbers: Exponent bits are 0, leading hidden bit is 0, allowing representation of values smaller than the smallest normalised number.
Infinity: Exponent bits all 1, fraction bits all 0.
NaN (Not a Number): Exponent bits all 1, fraction non‑zero.
Normalisation in Arithmetic Operations
When adding or subtracting floating‑point numbers, the following steps are performed:
Align exponents by shifting the mantissa of the smaller‑exponent operand.
Add or subtract the mantissas.
Normalise the result (may require left or right shift).
Round to fit the mantissa field.
Adjust exponent and handle overflow/underflow.
Suggested diagram: Flowchart of the normalisation process for a binary floating‑point number, showing conversion, shifting, exponent biasing, and field placement.
Key Points to Remember
Normalisation forces the mantissa to start with a hidden 1 (except for denormals).
The exponent is stored with a bias to allow both positive and negative powers.
Precision is limited by the number of fraction bits; rounding errors can accumulate.
Understanding normalisation is essential for debugging floating‑point arithmetic errors.