A Level 9618 · Paper 3 · 13.3
Floating-point numbers, representation and manipulation
How real numbers are stored in binary as a mantissa and an exponent. Read the notes, try the past-paper questions, then check the mark scheme.
Past papers from June 2021 to June 202621 questions · 135 marks
In this subtopic
- The two's complement mantissa and exponent format
- What changes when more bits go to the mantissa or to the exponent
- Converting between binary floating point and denary
- Normalising a number, and why it is done
- Rounding errors, underflow and overflow
13.3 · 1 of 7Book page Contents
Floating-point representation
Floating-point notation is a way of representing very small or very large numbers with the same number of bits. It is like scientific notation in denary.
A floating-point number has two parts: the mantissa and the exponent. Its value is M × 2E, where M is the mantissa and E is the exponent. There is no separate sign bit: both parts are usually stored in two’s complement (the question will say so), so the first bit of the mantissa is worth –1, as the place values below show.
Mantissa (8 bits)
Exponent (8 bits)
Because the first bit is negative, a mantissa or exponent that starts with 1 is negative, and one that starts with 0 is positive. The question should always say that two’s complement is used.
Worked example
Calculate the denary value of the floating-point binary number 0010101010110, where 9 bits are used for the mantissa followed by 4 bits for the exponent, both in two’s complement.
- Step 1Split the number into the mantissa (0.01010101) and the exponent (0110).
- Step 2Work out the exponent: 0110 = 6.
- Step 3Move the binary point in the mantissa six places to the right: 0010101.01
- Step 4Convert to denary: 16 + 4 + 1 + 0.25 = 21.25
Practise this: past-paper questions
- June 2021 · Paper 31 · Q1(b)Calculate the denary value of the given binary floating-point number. Show your working. Mantissa | Exponent 1 0 1 1 0 0 0 1 1 1 | 0 0 0 1 1 1
- November 2022 · Paper 32 · Q1(b)Calculate the denary value of the given binary floating-point number. Show your working. | Mantissa | Exponent | | 1 0 1 1 0 0 1 0 0 1 1 | 0 1 0 0 1 |
- June 2024 · Paper 31 · Q1(a)Calculate the denary value of the given normalised floating-point number. Show your working. | Mantissa | Exponent | | 0 1 0 0 1 1 1 1 0 0 | 0 0 1…
- November 2024 · Paper 31 · Q1(b)Calculate the denary value of the given normalised binary floating-point number. Show your working. | Mantissa | Exponent | | 1 0 1 0 1 1 0 0 1 1…
Show 5 more
- November 2024 · Paper 32 · Q4(a)Calculate the denary value of the given normalised binary floating-point number. Show your working. | Mantissa | Exponent | | 0 1 0 0 0 1 1 1 0 1…
- June 2025 · Paper 32 · Q2(b)Calculate the denary value of the following normalised binary floating-point number. Show your working. Mantissa: 1 0 1 0 0 0 1 0 1 0 1 1 |…
- November 2025 · Paper 32 · Q2(a)Calculate the denary value of the given normalised binary floating-point number. Show your working. | Mantissa | Exponent | | 0 1 1 1 1 0 0 1 0 1…
- June 2026 · Paper 31 · Q3(b)Calculate the denary value of the given normalised binary floating-point number. Show your working. | mantissa | exponent | | 1 0 1 0 0 0 0 1 1 1…
- June 2026 · Paper 32 · Q3(a)Calculate the denary value of the given normalised binary floating-point number. Show your working. | mantissa | exponent | | 1 0 1 1 0 1 0 0 0 1…
13.3 · 2 of 7Book pages Contents
Normalisation
Normalisation makes the most of the bits available, so the number is stored as precisely as possible. For a positive number, the leading zeros are removed; for a negative number, the leading ones are removed. So a normalised mantissa always starts 0.1 (positive) or 1.0 (negative).
To normalise, move the binary point in the mantissa until it starts 0.1 or 1.0. Then change the exponent: take away the number of places if the point moved right, and add it if the point moved left.
Worked example
The floating-point binary number 000101010101 has an 8-bit mantissa followed by a 4-bit exponent, both in two’s complement. Find the normalised version of this number.
- Step 1Split the number into the mantissa (0.0010101) and the exponent (0101).
- Step 2Move the binary point right until the mantissa starts 0.1. Moving it two places gives 0.10101.
- Step 3The mantissa must stay 8 bits, so add two zeros on the right. This does not change its value: 0.1010100.
- Step 4The point moved two places right, so take 2 from the exponent: 0101 (5) – 2 = 3 = 0011.
- Step 5Join them together: the normalised number is 010101000011.
Why binary numbers are stored in normalised form
- To store the largest range of numbers in the smallest number of bits.
- Normalisation removes the leading zeros (or ones), which carry no information.
- It gives the most significant bits, so the most precision for the number of bits available.
- It stops the same number having several different representations.
Practise this: past-paper questions
- June 2021 · Paper 31 · Q1(c)The given binary floating-point number is not normalised. Normalise the floating-point number. Show your working. Mantissa | Exponent 0 0 0 0 0 0…
- November 2021 · Paper 32 · Q1(a)(i)Write the normalised floating-point representation of the following unsigned binary number using this system. 1011100.011001
- November 2021 · Paper 32 · Q1(b)Explain the reason why binary numbers are stored in normalised form
- November 2022 · Paper 31 · Q1(c)(i)State why the number is not normalised
Show 4 more
- November 2022 · Paper 31 · Q1(c)(ii)Write the normalised floating-point representation of the number
- June 2023 · Paper 32 · Q1(a)Write the normalised floating-point representation of the following binary number using this system: 0101010.111 Show your working. Working…
- June 2025 · Paper 31 · Q2(a)Write the normalised floating-point representation of the following binary number using this system. 0.00000011010111
- November 2025 · Paper 31 · Q2(a)Write the normalised floating-point representation of the following positive binary number using this system. 0.00000001110101101 Mantissa Exponent
13.3 · 3 of 7Book page Contents
From denary to floating point
Builds on
Worked example
Give the denary value 27.75 as a normalised floating-point binary number, using 8 bits for the mantissa and 4 bits for the exponent, both in two’s complement.
- Step 1
- Step 2
- Step 3The point moved five places left, so add 5 to the exponent: 0 + 5 = 5 = 0101.
- Step 4Join the mantissa and exponent: the normalised value is 011011110101.
When the fraction part is not a simple one, convert it with the "multiply by two and record the whole number parts" method. For 8.63:
Worked example
Convert the fraction .63 to binary.
- Step 1.63 × 2 = 1.26, so write down 1: the fraction so far is .1
- Step 2.26 × 2 = 0.52, so write down 0: .10
- Step 3.52 × 2 = 1.04, so write down 1: .101
- Step 4.04 × 2 = 0.08, so write down 0: .1010
- Step 5Multiplying .08 by 2 again and again will give many zeros before the next 1, so stop here. .63 has been stored as .625, which is an approximation. 8.63 becomes 1000.1010, and the final representation, with a 10-bit mantissa and a 4-bit exponent, is 0100010100 for the mantissa and 0100 for the exponent.
Practise this: past-paper questions
- June 2021 · Paper 31 · Q1(a)Calculate the normalised floating-point representation of -7.25 in this system. Show your working
- November 2022 · Paper 31 · Q1(a)Write the normalised floating-point representation of +202 in this system. Show your working
- November 2022 · Paper 31 · Q1(b)Write the normalised floating-point representation of -202 in this system. Show your working
- June 2023 · Paper 31 · Q1(a)Calculate the normalised floating-point representation of 113.75 and show how it would be represented in each of these two systems. Show your…
Show 13 more
- November 2023 · Paper 31 · Q1(a)Write the normalised floating-point representation of +65.25 in this system. Show your working. | Mantissa | Exponent | | | |
- November 2023 · Paper 32 · Q1(a)Real numbers are stored in a computer using floating point representation with: • 10 bits for the mantissa • 6 bits for the exponent • two’s…
- June 2024 · Paper 31 · Q1(b)Calculate the normalised floating-point representation of -102.75 in this system. Show your working. | Mantissa | Exponent | | | |
- June 2024 · Paper 32 · Q1(b)Real numbers are stored in a computer, using floating-point representation with: • 12 bits for the mantissa • 4 bits for the exponent • two’s…
- November 2024 · Paper 31 · Q1(a)Calculate the normalised binary floating-point representation of +201.125 in this system. Show your working. | Mantissa | Exponent | | | |
- November 2024 · Paper 32 · Q4(b)Calculate the normalised binary floating-point representation of -49.1875 in this system. Show your working. | Mantissa | Exponent | | | |
- June 2025 · Paper 31 · Q2(b)Calculate the normalised binary floating-point representation of -25.3125 in this system. Show your working
- June 2025 · Paper 32 · Q2(a)Calculate the normalised binary floating-point representation of +124.4375 in this system. Show your working
- June 2025 · Paper 33 · Q2(b)Calculate the normalised binary floating-point representation of -3.59375 in this system. Show your working. Mantissa: Exponent: Working
- November 2025 · Paper 31 · Q2(b)Calculate the normalised binary floating-point representation of -76.1875 in this system. Show your working. Mantissa Exponent
- November 2025 · Paper 32 · Q2(b)Calculate the normalised binary floating-point representation of +26.6875 in this system. Show your working. Mantissa Exponent
- June 2026 · Paper 31 · Q3(a)Calculate the normalised binary floating-point representation of -10.8125 in this system. Show your working
- June 2026 · Paper 33 · Q5(a)Calculate the normalised binary floating-point representation of -18.5625 in this system. Show your working. | mantissa | exponent | | | |
13.3 · 4 of 7Book page Contents
Negative numbers
In two’s complement the first bit is negative: it is worth –1 in the mantissa and –8 in a 4-bit exponent. So a mantissa or an exponent that starts with 1 is negative. A normalised positive mantissa starts 0.1 and a normalised negative one starts 1.0. These examples use an 8-bit mantissa and a 4-bit exponent.
Worked example 1
Find the denary value of the mantissa 10100000 with the exponent 1110.
- Step 1The exponent 1110 = –8 + 4 + 2 = –2.
- Step 2The mantissa 1.0100000 = –1 + 0.25 = –0.75.
- Step 3The value is –0.75 × 2–2 = –0.75 × 0.25 = –0.1875.
Worked example 2
Give –3.75 as a normalised floating-point number.
- Step 1Write 3.75 in binary: 011.11 (the 0 at the front is the sign bit).
- Step 2Make it negative with two’s complement. Flip every bit and add 1 to the last place: 100.00 + 0.01 = 100.01 (check: –4 + 0.25 = –3.75).
- Step 3Move the binary point 2 places left so the mantissa starts 1.0: 1.0001000. The point moved 2 places, so the exponent is 2 = 0010.
- Step 4The answer is 10001000 0010. Check: –1 + 0.0625 = –0.9375, and –0.9375 × 22 = –3.75.
Worked example 3
Normalise the mantissa 11101000 with the exponent 0011.
- Step 1A negative mantissa must start 1.0. 1.1101000 has two extra 1s at the front, so move the bits 2 places left: 1.0100000 (this is the same as moving the binary point 2 places right).
- Step 2The bits moved 2 places left, so take 2 from the exponent: 3 – 2 = 1 = 0001. The answer is 10100000 0001 (both equal –1.5).
Practise this: past-paper questions
- June 2021 · Paper 31 · Q1(a)Calculate the normalised floating-point representation of -7.25 in this system. Show your working
- June 2021 · Paper 31 · Q1(b)Calculate the denary value of the given binary floating-point number. Show your working. Mantissa | Exponent 1 0 1 1 0 0 0 1 1 1 | 0 0 0 1 1 1
- November 2022 · Paper 31 · Q1(b)Write the normalised floating-point representation of -202 in this system. Show your working
- November 2022 · Paper 32 · Q1(b)Calculate the denary value of the given binary floating-point number. Show your working. | Mantissa | Exponent | | 1 0 1 1 0 0 1 0 0 1 1 | 0 1 0 0 1 |
Show 12 more
- November 2023 · Paper 32 · Q1(a)Real numbers are stored in a computer using floating point representation with: • 10 bits for the mantissa • 6 bits for the exponent • two’s…
- June 2024 · Paper 31 · Q1(b)Calculate the normalised floating-point representation of -102.75 in this system. Show your working. | Mantissa | Exponent | | | |
- November 2024 · Paper 31 · Q1(b)Calculate the denary value of the given normalised binary floating-point number. Show your working. | Mantissa | Exponent | | 1 0 1 0 1 1 0 0 1 1…
- November 2024 · Paper 32 · Q4(b)Calculate the normalised binary floating-point representation of -49.1875 in this system. Show your working. | Mantissa | Exponent | | | |
- June 2025 · Paper 31 · Q2(b)Calculate the normalised binary floating-point representation of -25.3125 in this system. Show your working
- June 2025 · Paper 32 · Q2(b)Calculate the denary value of the following normalised binary floating-point number. Show your working. Mantissa: 1 0 1 0 0 0 1 0 1 0 1 1 |…
- June 2025 · Paper 33 · Q2(b)Calculate the normalised binary floating-point representation of -3.59375 in this system. Show your working. Mantissa: Exponent: Working
- November 2025 · Paper 31 · Q2(b)Calculate the normalised binary floating-point representation of -76.1875 in this system. Show your working. Mantissa Exponent
- June 2026 · Paper 31 · Q3(a)Calculate the normalised binary floating-point representation of -10.8125 in this system. Show your working
- June 2026 · Paper 31 · Q3(b)Calculate the denary value of the given normalised binary floating-point number. Show your working. | mantissa | exponent | | 1 0 1 0 0 0 0 1 1 1…
- June 2026 · Paper 32 · Q3(a)Calculate the denary value of the given normalised binary floating-point number. Show your working. | mantissa | exponent | | 1 0 1 1 0 1 0 0 0 1…
- June 2026 · Paper 33 · Q5(a)Calculate the normalised binary floating-point representation of -18.5625 in this system. Show your working. | mantissa | exponent | | | |
13.3 · 5 of 7Book pages Contents
Range and precision
The number of bits given to the mantissa and to the exponent affects both the range and the precision of the numbers that can be stored. More bits for the exponent means larger (and smaller) numbers can be stored, but that leaves fewer bits for the mantissa, so numbers are less precise. More bits for the mantissa gives more precision, but a smaller range.
Worked example
Calculate the largest number that can be stored in 8 bits if 3 bits are used for the mantissa and 5 bits for the exponent.
- Step 1The largest number is 011 01111: the largest positive mantissa with the largest positive exponent.
- Step 2The mantissa is 0.11, and the exponent 01111 = 15, so the binary point moves 15 places to the right.
- Step 30110000000000000 = 16384 + 8192 = 24576. The largest number is 24 576.
Worked example
Calculate the largest number that can be stored in 8 bits if 5 bits are used for the mantissa and 3 bits for the exponent.
- Step 1The largest number is 01111 011.
- Step 2The mantissa is 0.1111 and the exponent 011 = 3, so the binary point moves 3 places to the right.
- Step 30111.1 = 7.5. So with fewer exponent bits, the range is far smaller.
With an 8-bit mantissa and an 8-bit exponent, both in two’s complement and normalised, these are the limits:
Largest positive number
Smallest positive number
Smallest-magnitude negative number (closest to zero)
Largest-magnitude negative number (furthest from zero)
In each row: the 8-bit mantissa, then the 8-bit exponent.
The mantissa and exponent trade-off
- The trade-off is between range and precision.
- More bits for the mantissa means fewer bits for the exponent, and fewer bits for the mantissa means more bits for the exponent.
- More bits for the mantissa gives better precision.
- More bits for the exponent gives a larger range of numbers.
Practise this: past-paper questions
- June 2021 · Paper 31 · Q1(d)(ii)Describe an alteration to the way floating-point numbers are stored to enable this number to be stored accurately using the same total number of bits
- November 2022 · Paper 32 · Q1(a)Write the largest positive two’s complement binary number that can be stored in this system
- June 2024 · Paper 32 · Q1(a)Describe the effect of changing the allocation of bits used for the mantissa and for the exponent in a floating-point number with a fixed total…
- June 2025 · Paper 33 · Q2(a)Give the largest normalised positive two’s complement binary number that can be stored in this system and state its denary equivalent. The denary…
Used later in
13.3 · 6 of 7Book pages Contents
Rounding errors
Builds on
Because of the trade-off between range and precision, some numbers cannot be stored exactly. A rounding error happens when a number has to be approximated. For example, 76.65625 needs a 13-bit mantissa, 0100110010101, with the exponent 0111. With only 10 bits for the mantissa, the three rightmost bits are lost, and the number stored is 76.5. This is close, but not exact.
Some numbers can never be stored exactly. 1/3 in binary is 0.010101... with the 01 repeating for ever, and there are only a fixed number of bits, so it must be rounded. It could be stored as 0 1010101 1111 (mantissa 0.1010101, exponent –1).
The size of the error can be given in two ways:
- The absolute error is the difference between the real number and the number stored. For 76.65625 stored as 76.5, it is 0.15625.
- The relative error is the absolute error as a percentage of the real value: 0.15625 / 76.65625 × 100 = about 0.2%.
Practise this: past-paper questions
- June 2021 · Paper 31 · Q1(d)(i)Explain the reason for this
- November 2021 · Paper 32 · Q1(a)(ii)State the consequence of storing the binary number in part (a)(i) as a floating-point number in this system. Justify your answer
- June 2023 · Paper 31 · Q1(b)Explain the problem that occurred in part (a) when representing the number in system 2
- June 2023 · Paper 32 · Q1(b)Describe the reason why the normalised form of the following binary number cannot be represented accurately using this system. 0101011.111001
13.3 · 7 of 7Book pages Contents
Underflow and overflow
Builds on
Underflow happens when a number is too small (too close to zero) to be represented. With an 8-bit mantissa and a 4-bit exponent, normalised, the smallest exponent is 1000 (–8) and the smallest positive mantissa is 0.1000000. So the smallest positive number is 0 1000000 1000, which is 1/2 × 2–8 = 1/512. A result smaller than 1/512 causes an underflow error.
Overflow happens when a number is too large to be represented. In the same system, the largest number is 0 1111111 0111, which is 127/128 × 27 = 127. A result larger than 127 causes an overflow error, and the number cannot be stored.
Both can happen with negative numbers too: a negative number can be too far from zero (overflow) or too close to zero (underflow).
Practise this: past-paper questions
- November 2022 · Paper 32 · Q1(c)State when underflow occurs in a binary floating-point system
- November 2025 · Paper 33 · Q2(b)Describe one example of a situation that could cause an overflow to occur and the consequences of such an overflow
- June 2026 · Paper 32 · Q3(b)Describe one example of a situation that could cause underflow to occur and the consequences of this underflow
- June 2026 · Paper 33 · Q5(b)Explain the problem that would occur if the two binary floating-point numbers representing the denary numbers 91.5 and 123.25 were added together…
Used later in
13.3
Concepts in 13.3
Every idea explained in 13.3, and where else in the notes it is used.
| Concept | In one line | Also used in |
|---|---|---|
| absolute error | The difference between the real number and the number stored. | only here |
| exponent | The power of 2 that the mantissa is multiplied by. | 13.3 Normalisation, 13.3 From denary to floating point, 13.3 Negative numbers, 13.3 Range and precision, 13.3 Rounding errors, 13.3 Underflow and overflow |
| floating-point | A way to store numbers as a mantissa and an exponent, with the value M × 2^E. | 13.3 Normalisation, 13.3 From denary to floating point, 13.3 Negative numbers |
| mantissa | The part of a floating-point number that holds its significant digits. | 13.3 Normalisation, 13.3 From denary to floating point, 13.3 Negative numbers, 13.3 Range and precision, 13.3 Rounding errors, 13.3 Underflow and overflow |
| normalisation | Moving the binary point so the mantissa starts 0.1 or 1.0, giving the most precision. | 13.3 From denary to floating point, 13.3 Negative numbers, 13.3 Range and precision, 13.3 Underflow and overflow |
| overflow | A number too large to be represented. | 15.2 The four-bit binary adder |
| precision | How exactly a number can be stored. | 13.3 Normalisation, 13.3 Rounding errors |
| range | How large and how small the numbers that can be stored are. | only here |
| relative error | The absolute error as a percentage of the real value. | only here |
| rounding error | The error when a number must be approximated to fit the bits available. | only here |
| underflow | A number too close to zero to be represented. | only here |
Zain Merchant's notes, page by page, as printed in his book. The Notes tab has the same notes as text, with links.
Past-paper questions and mark schemes © Cambridge University Press & Assessment. Compiled for revision by Zain Merchant.
- June 2021 · Paper 31 · Q1Notes:Floating-point representationNormalisationFrom denary to floating pointNegative numbersRange and precisionRounding errors
- November 2021 · Paper 32 · Q1Notes:NormalisationRounding errors
- November 2022 · Paper 31 · Q1Notes:NormalisationFrom denary to floating pointNegative numbers
- November 2022 · Paper 32 · Q1Notes:Floating-point representationNegative numbersRange and precisionUnderflow and overflow
- June 2023 · Paper 31 · Q1Notes:From denary to floating pointRounding errors
- June 2023 · Paper 32 · Q1Notes:NormalisationRounding errors
- November 2023 · Paper 31 · Q1Notes:From denary to floating pointRounding errors
- November 2023 · Paper 32 · Q1Notes:From denary to floating pointNegative numbersRounding errors
- June 2024 · Paper 31 · Q1Notes:Floating-point representationFrom denary to floating pointNegative numbers
- June 2024 · Paper 32 · Q1Notes:From denary to floating pointRange and precision
- November 2024 · Paper 31 · Q1Notes:Floating-point representationFrom denary to floating pointNegative numbers
- November 2024 · Paper 32 · Q4Notes:Floating-point representationFrom denary to floating pointNegative numbers
- June 2025 · Paper 31 · Q2Notes:NormalisationFrom denary to floating pointNegative numbers
- June 2025 · Paper 32 · Q2Notes:Floating-point representationFrom denary to floating pointNegative numbers
- June 2025 · Paper 33 · Q2Notes:From denary to floating pointNegative numbersRange and precision
- November 2025 · Paper 31 · Q2Notes:NormalisationFrom denary to floating pointNegative numbers
- November 2025 · Paper 32 · Q2Notes:Floating-point representationFrom denary to floating point
- November 2025 · Paper 33 · Q2Notes:Range and precisionUnderflow and overflow
- June 2026 · Paper 31 · Q3Notes:Floating-point representationFrom denary to floating pointNegative numbers
- June 2026 · Paper 32 · Q3Notes:Floating-point representationNegative numbersUnderflow and overflow
- June 2026 · Paper 33 · Q5Notes:From denary to floating pointNegative numbersUnderflow and overflow
Past-paper questions and mark schemes © Cambridge University Press & Assessment. Compiled for revision by Zain Merchant.
Try the questions first.
Write your answers, then check them against the mark scheme. Your choice is remembered on this device.