Cambridge 9618 · International A Level Computer Science · ~20 min read
Notes
Video
Slides
Quiz
Worksheet
The Structure of a Floating Point Number
A floating point number is stored in two parts: a mantissa (the significant digits) and an exponent (the scale/power). Both are stored in two's complement binary in Cambridge 9618.
The value of the number is: value = mantissa × 2exponent
The binary point in the mantissa is assumed to be immediately after the sign bit. Example layout for 8-bit mantissa + 4-bit exponent:
Mantissa (8 bits) — two's complement, binary point after sign bit
0
1
0
0
1
0
0
0
sign . fraction bits
Exponent (4 bits) — two's complement
0
0
1
1
= +3
Converting Floating Point to Decimal
Follow these steps:
Worked Example: Convert 0.1001000 with exponent 0011 to decimal
1
Read the exponent: 0011 (two's complement) = +3. This tells us to move the binary point 3 places right in the mantissa.
2
Mantissa in full: 0.1001000 (binary point after the sign bit 0)
3
Shift binary point right by 3: 0.1001000 → 0100.100 = 0100.1 in binary
4
Convert 0100.1 to decimal: 4 + 0.5 = 4.5
Worked Example: Convert 1.1100000 with exponent 0010 to decimal (negative number)
1
Sign bit is 1 → this is a negative number in two's complement.
2
Exponent: 0010 = +2. Shift binary point 2 places right.
3
Shift: 1.1100000 → 111.00000
4
Convert two's complement 111 to decimal: Invert → 000, add 1 → 001 = 1. Since negative: −1
Normalisation
A floating point number is normalised when the mantissa uses the maximum number of significant bits — no leading redundant bits. The rule depends on the sign of the number:
Positive number — normalised form:
The bit immediately after the binary point must be 1.
Mantissa starts: 0.1xxxxxxx
Example: 0.1001000 ✓ (normalised) | 0.0100100 ✗ (not normalised — leading zero wastes precision)
Negative number — normalised form:
The bit immediately after the binary point must be 0.
Mantissa starts: 1.0xxxxxxx
Example: 1.0110000 ✓ (normalised) | 1.1011000 ✗ (not normalised — redundant sign extension)
Why normalise?
Normalisation ensures every representable value has exactly one bit pattern. This maximises precision — a non-normalised number wastes mantissa bits on redundant leading 0s or 1s when those bits could represent more significant digits.
The bit after the binary point is 0 — not normalised for a positive number. Need to shift mantissa left.
2
Shift mantissa left by 1: 0.0100100 → 0.1001000. Decrease exponent by 1: 0100 → 0011 (to compensate).
3
Check: 0.1001000 with exponent 0011 → bit after point is 1 ✓ — now normalised. Value unchanged.
Precision vs Range Trade-off
With a fixed total number of bits, the programmer (or system designer) must divide bits between mantissa and exponent:
Change
Effect on Precision
Effect on Range
More bits in mantissa
More significant digits → higher precision (less rounding error)
Fewer exponent bits → smaller range of values representable
More bits in exponent
Fewer mantissa bits → less precision (more rounding error)
Larger range of values (very large and very small numbers)
Precision
Precision refers to how many significant bits are stored — how exactly the actual value can be represented. More mantissa bits = less rounding error. Example: 0.1001001 (7 mantissa bits) is less precise than a 16-bit mantissa representation of the same value.
Range
Range refers to the largest and smallest values the exponent can represent. A 4-bit two's complement exponent gives −8 to +7 → values from very small (×2⁻⁸) to very large (×2⁷). More exponent bits allows extreme values like 2127 (single-precision IEEE 754).
Overflow and Underflow
Error
Cause
Effect
Overflow
Result is too large in magnitude for the exponent to represent
Program error / incorrect result; some systems use ±infinity
Underflow
Number is too close to zero (absolute value too small for exponent)
Number is rounded to zero — a small but non-zero value is lost
Cambridge 9618 normalisation rules to memorise: Positive → starts 0.1xxxxxxx; Negative → starts 1.0xxxxxxx. To normalise, shift mantissa and adjust exponent by the same amount in opposite direction. More mantissa bits = better precision. More exponent bits = wider range. Overflow = result too large for exponent; Underflow = result too small (rounds to zero).
⚠️ Common Mistakes
Applying positive normalisation rule to negative numbers — positive starts 0.1... but negative starts 1.0... (not 1.1...)
Forgetting to adjust the exponent when shifting the mantissa during normalisation — value must stay the same
Confusing precision and range — precision relates to mantissa bits; range relates to exponent bits
Confusing overflow (too large) with underflow (too close to zero) — underflow does NOT mean the answer is negative
Treating the exponent as an unsigned integer — it is two's complement, so 1110 = −2, not 14
Forgetting the implicit binary point position — it comes after the sign bit of the mantissa
✅ Notes completed!
▶
Video coming soon
Click slide or press arrow keys to navigate
Worksheet — 3.1.3 Floating Point Representation
8 questions · Cambridge 9618 standard
Q1A floating point number has mantissa 0.1011000 and exponent 0010 (both two's complement, binary point after sign bit). Convert this to denary.[3]
Q2State the normalisation rule for (a) a positive floating point number and (b) a negative floating point number.[2]
✅ Mark scheme
(a) Positive: the bit immediately after the binary point must be 1 — mantissa starts 0.1xxxxxx [1]; (b) Negative: the bit immediately after the binary point must be 0 — mantissa starts 1.0xxxxxx [1].
Q3Is the floating point number with mantissa 0.0110100 and exponent 0101 normalised? If not, write the normalised form and state the new exponent.[3]
✅ Mark scheme
Not normalised — positive number but bit after binary point is 0 (not 1) [1]; shift mantissa left by 1: 0.0110100 → 0.1101000 [1]; decrease exponent by 1: 0101 → 0100 (= +4) [1]. New normalised form: mantissa 0.1101000, exponent 0100.
Q4A 16-bit floating point format uses 12 bits for the mantissa and 4 bits for the exponent. State what would happen to precision and range if the format were changed to 10 bits for mantissa and 6 bits for exponent.[4]
✅ Mark scheme
Precision decreases — fewer mantissa bits (10 instead of 12) means fewer significant digits can be stored, increasing rounding errors [2]; range increases — more exponent bits (6 instead of 4) means larger and smaller numbers can be represented [2].
Q5Explain the difference between floating point overflow and floating point underflow.[2]
✅ Mark scheme
Overflow occurs when the result of a calculation is too large in magnitude for the exponent to represent — the number is outside the maximum range [1]; underflow occurs when the result is too close to zero — the absolute value is too small for the exponent to represent, so it is rounded down to zero [1].
Q6A negative floating point number has mantissa 1.1010000 and exponent 1111 (both two's complement). What decimal value does this represent?[4]
✅ Mark scheme
Exponent 1111 in two's complement = −1 [1]; shift binary point 1 place LEFT (negative exponent): 1.1010000 → 1 1.010000... — actually the mantissa represents a negative value: 1.1010000. Two's complement of 11010000: invert = 00101111, add 1 = 00110000 = 0.0110000 in binary point notation = 0.1875; so mantissa = −0.1875 [1]; with exponent −1: value = −0.1875 × 2⁻¹ = −0.1875 ÷ 2 = −0.09375 [2]. Accept correct intermediate steps for method marks.
Q7A floating-point number uses 8-bit mantissa (two's complement, normalised) and 4-bit exponent (two's complement). The bit pattern is: mantissa = 0.1011010, exponent = 0101. Calculate the denary value represented. Show all working.[4]
Q8Explain what underflow and overflow mean in the context of floating-point representation. State one consequence of each, and explain why increasing the number of exponent bits reduces the risk of overflow but does not eliminate rounding errors.[5]
✅ Mark scheme
Overflow: result is too large to be represented — the exponent required exceeds the maximum representable value [1]; consequence: the value may wrap around to a very small or negative value, or the program raises an error [1]; Underflow: result is too close to zero (too small) to be represented — the exponent required is smaller than the minimum [1]; consequence: the value is rounded to zero, losing precision [1]; More exponent bits extend the range of representable magnitudes, reducing overflow/underflow risk [1]; but rounding errors arise from limited mantissa bits — not exponent bits — so increasing exponent bits does not reduce the fractional precision of the mantissa [1]. Award max 5.
Topic Quiz
Question 1 of 10
You scored
out of 10
Card 1 of 8
Click to reveal definition
🎉
All cards reviewed!
Term
Definition
🎯
Mini Test — 3.1.3 Floating Point
10 questions · 10 marks · 10 minutes
⏱ 10:00
Section A — Multiple Choice [5 marks]
Q1In Cambridge 9618 floating point representation, where is the binary point assumed to be in the mantissa?
Q2Which of these mantissa values represents a normalised POSITIVE floating point number?
Q3Mantissa 0.1100000, exponent 0011 (two's complement). What is the denary value?
Q4Increasing the number of mantissa bits in a floating point format will:
Q5What is floating point underflow?
Section B — Short Answer [5 marks]
Q6Explain what is meant by normalisation of a floating point number and why it is important.
Mark schemeNormalisation ensures the mantissa uses the maximum number of significant bits to represent the value [1]; for positive numbers the bit after the binary point must be 1 (starts 0.1...); for negative the bit after must be 0 (starts 1.0...) [1]; this is important because it maximises precision — removes leading redundant bits that would waste storage capacity [1].
Q7Convert mantissa 0.1010000, exponent 0100 to denary. Show all steps.
Q8A floating point number has mantissa 0.0010111 and exponent 0011. Normalise it and state the new exponent value.
Mark schemeNot normalised — positive but bit after binary point is 0 [1]; shift left by 2 places: 0.0010111 → 0.1011100 [1]; decrease exponent by 2: 0011 → 0001 (= +1) [1].
Q9State one cause of floating point rounding error and explain how increasing mantissa bits helps.
Mark schemeRounding error occurs when a number cannot be represented exactly in the given number of bits — the value must be rounded to the nearest representable number [1]; increasing mantissa bits provides more significant binary digits, meaning the difference between consecutive representable values is smaller, so rounding errors are smaller [1].
Q10State the sign of the exponent when a floating point number is shifted left during normalisation, and explain what adjustment is made to the exponent.
Mark schemeWhen the mantissa is shifted left (to move a 1 into the position after the binary point), the exponent is decreased by the same number of places shifted [1]; this compensates so the overall value of the number remains unchanged — shifting mantissa left multiplies the mantissa by 2, so dividing by 2 (decreasing exponent by 1) keeps the value the same [1].