How are real numbers represented in floating point, and how is normalisation used to store them precisely?
Describe advanced data representation: floating-point numbers, normalisation, fixed-point, and the limits of representing real numbers.
A focused answer to WJEC A-Level Computer Science Unit 4 advanced data representation, covering floating-point form with mantissa and exponent, normalisation, fixed-point representation, and the precision and range limits of real numbers.
Reviewed by: AI editorial process; not yet individually human-reviewed
Have a quick question? Jump to the Q&A page
Jump to a section
What this dot point is asking
WJEC wants you to represent real numbers in floating-point form, to normalise them, to understand fixed-point representation, and to explain the precision and range limits of representing real numbers in a fixed number of bits. This deepens the AS data-representation topic into the harder territory of real numbers, and the floating-point and normalisation questions are reliably examined in Unit 4, rewarding careful working and clear explanation of the precision-versus-range trade-off.
The answer
Floating-point representation
The "floating" point means the binary point can move, set by the exponent, which lets a fixed number of bits represent both very large and very small numbers, unlike a fixed-point scheme.
Mantissa, exponent and the trade-off
This trade-off is the central insight of the topic: you cannot improve both precision and range at once within a fixed word length, so a design chooses the split that suits its purpose.
Normalisation
Normalising a floating-point number adjusts the mantissa to a standard range (for a positive number the bits after the binary point begin 0.1...), changing the exponent to compensate so the value is unchanged. It ensures each number has a single unique representation and that the mantissa carries the maximum significant figures, wasting no bits on leading zeros.
Fixed-point and the limits of real numbers
Fixed-point representation places the binary point at a fixed position, simpler but with a fixed range and precision. Because any fixed word length can store only finitely many values, real numbers are generally stored approximately, which is the source of rounding errors.
Examples in context
- Example 1. Why scientific calculations use floating point
- Computations spanning from atomic to astronomical scales need both very small and very large magnitudes, which the exponent provides. Fixed point could not cover the range without enormous word lengths, so floating point's movable binary point is what makes large-scale scientific computing practical.
- Example 2. Rounding error accumulating in a loop
- Adding 0.1 a thousand times in floating point does not give exactly 100, because 0.1 has no exact binary floating-point representation, and the tiny errors accumulate. This concrete behaviour is why programmers avoid testing floating-point values for exact equality, and it traces directly to the finite-bit limit on representing real numbers.
- Example 3. Choosing precision over range for currency
- A system handling money may prefer a fixed-point or integer representation (storing pence as whole numbers) to avoid floating-point rounding errors on exact decimal amounts. This shows the design choice the trade-off forces: the right representation depends on whether range or exactness matters more for the data.
Try this
Q1. State which part of a floating-point number determines its precision. [1 mark]
- Cue. The mantissa (significand): more mantissa bits give more significant figures.
Q2. State what happens to the exponent when the mantissa is shifted one place to the left during normalisation. [1 mark]
- Cue. The exponent is reduced by one, to keep the represented value unchanged.
Exam-style practice questions
Practice questions written in the style of WJEC exam questions on this dot point, with worked answer explainers. The year tag is the paper they imitate, not the source.
WJEC 20205 marksA floating-point number is stored with an 8-bit mantissa and a 4-bit exponent, both in two's complement. Explain the role of the mantissa and the exponent, and state the effect of increasing the size of each.Show worked answer →
Explain what each field stores, then link each field's size to a property of the number.
The mantissa (significand) stores the significant digits of the number; it fixes the precision (how many significant figures can be represented). The exponent stores the power of two by which the mantissa is scaled; it fixes the range (how large or small a number can be represented).
Increasing the size of the mantissa increases the precision, so numbers can be stored to more significant figures (smaller rounding error). Increasing the size of the exponent increases the range, so larger and smaller magnitudes can be represented.
Markers reward the mantissa as the significant digits (precision) and the exponent as the scale (range), and that a bigger mantissa gives more precision while a bigger exponent gives more range.
WJEC 20224 marksExplain what is meant by normalising a floating-point number, and state why normalisation is used.Show worked answer →
Define normalisation, then give its purpose.
Normalising a floating-point number adjusts the mantissa and exponent so that the mantissa is in a standard range, with the most significant bit immediately after the (implied) binary point representing the highest possible precision; for a positive number this means the bits after the point start 0.1..., and the exponent is changed to compensate so the value is unchanged.
Normalisation is used so that each number has a single, unique representation and so that the mantissa carries the maximum number of significant figures, giving the greatest precision for the bits available. It avoids wasting mantissa bits on leading zeros.
Markers reward adjusting the mantissa to the standard range with a compensating exponent change keeping the value the same, and the purpose of a unique representation with maximum precision.
Related dot points
- Describe computer architecture in depth: processor design, parallel processing, peripherals, and the hardware and methods of communication.
A focused answer to WJEC A-Level Computer Science Unit 4 hardware and communication, covering processor architecture, the role of registers and buses, parallel processing, peripherals and storage, and communication hardware and methods.
- Describe low-level programming: machine code and assembly language, the instruction set, and addressing modes.
A focused answer to WJEC A-Level Computer Science Unit 4 low-level programming, covering machine code and assembly language, the instruction set, the structure of an instruction, and addressing modes such as immediate and direct.
- Describe the organisation and structure of data: relational databases, normalisation to third normal form, SQL, and big data and data warehousing.
A focused answer to WJEC A-Level Computer Science Unit 4 organisation of data, covering relational databases and keys, normalisation to first, second and third normal form, SQL, and big data and data warehousing.
- Describe applications of computer science including artificial intelligence, machine learning, automation and modern computing applications.
A focused answer to WJEC A-Level Computer Science Unit 4 applications, covering artificial intelligence and machine learning, neural networks, expert systems, automation, and modern computing applications with their capabilities and limits.
- Evaluate the ethical, legal, social and environmental impacts of computer science and the relevant legislation.
A focused answer to WJEC A-Level Computer Science Unit 4 impact, covering the ethical, legal, social and environmental issues raised by computing, the relevant legislation, and how they guide responsible use.