Skip to content
Definition
Floating point is a method of representing real numbers in binary using a mantissa (significant digits) and an exponent (scale factor).
Key Point
Floating Point Structure:
• Sign bit: 0 = positive, 1 = negative
• Mantissa: The significant digits
• Exponent: Power of 2 to multiply by

Trade-off:
• More mantissa bits = more precision
• More exponent bits = larger range
Key Point
Normalisation:
A normalised floating point number has its mantissa starting with 01 (positive) or 10 (negative). This ensures maximum precision.

Binary Fractions

Bits to the right of the binary point have place values that halve each time: 1/2, 1/4, 1/8, 1/16 and so on. A number written with the binary point in a set position is in fixed point form.

Example
0110.11 = 4 + 2 + 1/2 + 1/4 = 6.75

In two's complement the leftmost bit has a negative place value:
1001.01 = -8 + 1 + 1/4 = -6.75

Converting Floating Point to Denary

In exam questions the mantissa and the exponent are both in two's complement, and the binary point of the mantissa comes after its first bit.

  • 1.
    Convert the exponent to denary.
  • 2.
    Write out the mantissa with the binary point after the first bit.
  • 3.
    Move the binary point right by the exponent, or left if the exponent is negative.
  • 4.
    Convert the fixed point number to denary. If the mantissa starts with 1, the leftmost bit has a negative place value.
Worked Example
Worked Example: Floating Point to Denary

Each number has an 8-bit mantissa and a 4-bit exponent.
MantissaExponentExponent in denaryMove the binary pointFixed pointDenary
01011000001130.1011000 → 3 places right0101.15.5
10110000001131.0110000 → 3 places right1011.0-5
011000001110-20.1100000 → 2 places left0.00110.1875
Checks:
• 0101.1 = 4 + 1 + 1/2 = 5.5
• 1011.0 = -8 + 2 + 1 = -5
• 0.0011 = 1/8 + 1/16 = 0.1875

Normalising a Floating Point Number

A floating point number is normalised when the first two bits of its mantissa are different: 01 for a positive number, 10 for a negative number. Normalising gives the most precision possible from the bits available, and means each value has only one representation.

To normalise, shift the mantissa left until its first two bits differ, and subtract 1 from the exponent for each place moved. The value does not change, because each shift left doubles the mantissa and each 1 taken off the exponent halves the number again.

Worked Example
Worked Example: Normalising
StageMantissaExponentValue
Before000101100101 (5)0.0010110 → 5 places right = 101.1 = 5.5
After010110000011 (3)0.1011000 → 3 places right = 101.1 = 5.5
The mantissa moved 2 places left, so the exponent went down by 2.

A negative number works the same way: mantissa 11101000 with exponent 0100 (4) becomes mantissa 10100000 with exponent 0010 (2). Both are -3.

Converting Denary to Normalised Floating Point

  • 1.
    Write the number in fixed point binary. For a negative number, write the positive value first and convert it to two's complement.
  • 2.
    Move the binary point so that it sits after the first bit. The mantissa now starts 01 or 10.
  • 3.
    The exponent is the number of places the point moved: positive if it moved left, negative if it moved right.
  • 4.
    Fill the rest of the mantissa with 0s on the right, and write the exponent in two's complement.
Worked Example
Worked Example: Denary to Normalised Floating Point

Use an 8-bit mantissa and a 4-bit exponent.
DenaryFixed point binaryPoint movedMantissaExponent
6.750110.113 places left: 0.11011011011000011
-6.751001.013 places left: 1.00101100101000011
0.18750.00112 places right: 0.11011000001110
For -6.75: +6.75 is 0110.11, and its two's complement is 1001.01 (-8 + 1 + 1/4).
Exam Tip
Floating point traps:
• The exponent is in two's complement too: 1110 is -2, not 14
• A normalised mantissa starts 01 or 10. If your answer starts 00 or 11, it is not normalised
• Pad the mantissa on the right with 0s, never on the left