Loading...
Normalisation uses the mantissa’s available bits effectively while preserving the value through an opposite exponent adjustment. The signed convention matters for negative values.
What you'll be able to do
For the two’s-complement fractional mantissa convention used here, a non-zero normalised positive mantissa begins 01 and a negative one begins 10. Repeated leading sign bits otherwise occupy positions that could retain useful magnitude information. Zero requires separate treatment because it has no first differing sign bit.
This rule differs from informal descriptions of an unsigned binary significand. For a negative pattern, do not search simply for the first one, because the sign bit is already one. Look for the first change from the leading sign-extension pattern.
Shifting the mantissa left multiplies its value by two within the permitted representation, so decrease the exponent by one to preserve the product. Repeat until the normalisation condition holds, keeping sufficient bits and checking whether the new exponent remains representable.
For 0.0011000×2³, shift left twice to 0.1100000 and reduce the exponent to 1. Both represent 1.5. For 1.1110000×2³, the mantissa is -0.125; three left shifts give 1.0000000 with exponent 0, preserving -1.
Overflow occurs when a required result is outside the available magnitude range. Underflow arises when a non-zero magnitude is too small for the permitted non-zero representation. Their handling depends on the format and system; do not import IEEE subnormal or infinity rules into a simplified examination format unless specified.
With an eight-bit normalised mantissa and four-bit two’s-complement exponent, the exponent runs -8 through 7. The largest positive mantissa is 127/128, so the largest positive value is 127. The smallest positive normalised value is 0.5×2⁻⁸=1/512. State these assumptions before quoting a numerical limit.
| Original | Normalised | Same value |
|---|---|---|
| 0.0011000 × 2³ | 0.1100000 × 2¹ | 1.5 |
| 1.1110000 × 2³ | 1.0000000 × 2⁰ | -1 |
Attempt the task before opening its worked response. Record each change of state, explain the rule used, and check the result against the original requirements. Code examples labelled Python 3 use that language’s conventions; pseudocode states its own assumptions.
Common mistakes to avoid
Key takeaways
Test yourself
Answer a few questions, then review anything you missed.
Start with the quiz above to check the key ideas. You can also choose another topic from the practice library.