4.1.7

Floating Points in Binary

Test yourself

Floating Point Representation

Floating point is a method of representing numbers in binary, which makes use of a binary point placed after the ‘most significant bit’ (MSB).

Illustrative background for Floating pointIllustrative background for Floating point ?? "content

Floating point

  • A floating point binary number is made up of two parts:
    • The mantissa is the main number, containing a binary point after the MSB.
    • The exponent determines where the binary point is positioned before the number is read.
  • If the exponent is negative (i.e. it begins with a ‘1’), the binary point is moved left instead of right.
Illustrative background for Converting to denaryIllustrative background for Converting to denary ?? "content

Converting to denary

  • After the binary point has been moved, we can read the value of the mantissa.
  • The denary value of the binary digit to the right of the binary point corresponds to:
    • 21=122^{-1}=\frac{1}{2}.
  • Each subsequent binary digit corresponds to 22,23,242^{-2},\,2^{-3},\,2^{-4}.. and so on.
Illustrative background for ExampleIllustrative background for Example ?? "content

Example

  • The example below is a 12-bit floating point number, with an 8-bit mantissa and a 4-bit exponent:
    • 0 . 1 0 1 1 0 0 0 0 0 1 1
  • The exponent 0011 (which is equal to 3) identifies where the binary point should move in order to read the number.
Illustrative background for Example cont.Illustrative background for Example cont. ?? "content

Example cont.

  • In this example, the binary point is moved 3 places to the right, which in turn subtracts 3 from the exponent:
    • 0 1 0 1 . 1 0 0 0 0 0 0 0
  • This represents the decimal number 5.5.

Normalisation of Floating Points

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

Illustrative background for NormalisationIllustrative background for Normalisation ?? "content

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.
Illustrative background for ExampleIllustrative background for Example ?? "content

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’.
Illustrative background for Example cont.Illustrative background for Example cont. ?? "content

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.
Illustrative background for Negative floating pointIllustrative background for Negative floating point ?? "content

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’.

Jump to other topics

1Components of a Computer

2Software & Software Development

3Exchanging Data

4Data Types, Data Structures & Algorithms

5Legal, Moral, Cultural & Ethical Issues

6Elements of Computational Thinking

6.1Thinking Abstractly

6.2Thinking Procedurally

6.3Thinking Logically

7Problem Solving & Programming

8Algorithms

Go student ad image

Unlock your full potential with GoStudent tutoring

  • Affordable 1:1 tutoring from the comfort of your home

  • Tutors are matched to your specific learning needs

  • 30+ school subjects covered

Book a free trial lesson