Normalisation of Floating Points

Computer Science: OCR A Level, topic 4.1.15

Normalisation of Floating Points

Floating point binary numbers should be normalised to ensure they are as precise as possible.

Normalisation

Normalisation

  • The same decimal number can be represented in a number of different ways using floating point, depending on the number of bits available.
  • To ensure the mantissa is as precise as possible (normalised), the binary point and exponent should be adjusted so that:
  • A positive number has a ‘0’ before the binary point and a ‘1’ after it.
  • A negative number has a ‘1’ before the binary point and a ‘0’ after it.
Example

Example

  • The example shown is an un-normalised 12-bit floating point number, with an 8-bit mantissa and a 4-bit exponent:
  • 0 . 0 0 1 0 1 1 0 0 1 0 1
  • It is un-normalised because the bits either side of the binary point are the same.
  • The binary point needs to move two places to the right, ensuring it remains a positive number (the MSB is still a ‘0’), but the bit after the point is a ‘1’.
Example cont.

Example cont.

  • Moving the point two places to the right reduces the value of the exponent by two, resulting in:
  • 0 . 1 0 1 1 0 0 0 0 0 1 1
  • Notice the two excess bits to the left of the MSB in the mantissa have been moved to the end of the mantissa, ensuring it remains 8 bits in size.
Negative floating point

Negative floating point

  • Normalising negative floating point binary numbers follows the same procedure, except the point is moved until the MSB is a ‘1’ and the bit following the point is a ‘0’.

Test yourself on Normalisation of Floating Points

Practise this topic for free