TutorChase logo
Login
AQA A-Level Computer Science

14.4.8 Normalisation of Floating Point Form

Normalisation of floating-point numbers ensures consistent precision by adjusting the mantissa and exponent to a standardised format. This supports accurate storage and reliable calculations.

What is a Floating-Point Number?

Floating-point numbers are a way to represent real numbers—numbers that may include a fractional component—within a fixed number of bits. Unlike integers, which are represented using a simple binary system, floating-point numbers use a structure that allows for the representation of very large or very small values in a compact format. The general form of a floating-point number is:

mantissa × 2^exponent

This format splits a number into two parts:

  • Mantissa (or significand): This holds the significant binary digits of the number.

  • Exponent: This shows how many times the mantissa is multiplied by 2, effectively determining the position of the binary point.

Floating-point representation is particularly useful for scientific calculations and measurements where numbers can span a wide range. However, to make sure floating-point values are consistent in both representation and precision, they need to be normalised.

Why is Normalisation Necessary?

Take your grades to the next level!

UPGRADING TO PREMIUM UNLOCKS
AI Tutor
AI-powered study assistant
instant feedback and guidance
Predicted Papers
Examiner-style predicted papers
based on recent exam trends
Practice Questions
All exam practice questions
by topic for each subject
Study Notes
All detailed revision notes
written by expert teachers
Cheat Sheets
Quick revision summaries
perfect for last-minute review
Past Papers
Complete collection
of practice and past exam papers
Email
Password
Confirm Password
Already have an account?

Practice Questions

FAQ

If a floating-point number is already in normalised form, meaning the most significant digit of the mantissa is a 1 and the binary point is correctly positioned immediately after it, then no further adjustment is necessary during the normalisation step. However, during computational processes—especially after arithmetic operations such as addition or multiplication—the result may no longer be in normalised form. In such cases, the system will check and re-normalise if required. Even when a number starts in normalised form, operations can result in extra leading zeros, rounding, or a shifted binary point. Therefore, processors often include a normalisation stage after floating-point operations to ensure results are re-adjusted correctly. Additionally, some systems may still perform a check to confirm that the number is in normalised form, even if no changes are made. This ensures data integrity, precision, and compatibility with floating-point units (FPUs) and further calculations downstream.

Normalisation simplifies the comparison of floating-point numbers by ensuring each number follows the same structural format: a mantissa beginning with 1 and a correctly adjusted exponent. This means that when two normalised numbers are compared, the system can begin by comparing their exponents. If the exponents differ, the number with the higher exponent is immediately identified as larger. If the exponents are equal, the comparison then proceeds to the mantissas. Because both numbers are guaranteed to be in the 1.xxxxx format, the comparison is straightforward and can be executed quickly and reliably. Without normalisation, two values representing the same number might appear different due to redundant leading zeros or inconsistent binary point placement, making direct comparisons inefficient or error-prone. Normalisation removes this inconsistency, reduces ambiguity, and allows for faster hardware-level processing during sorting, equality checks, or relational operations in arithmetic and logical algorithms.

In many computer architectures, particularly those adhering to floating-point standards, the leading 1 in a normalised mantissa is not stored because its presence is guaranteed and predictable. This is referred to as the implicit leading bit or hidden bit. Since all non-zero numbers must be normalised and always begin with 1. before the binary point, there is no need to explicitly store that 1. This frees up one extra bit in the mantissa, allowing the system to store an additional digit of precision, improving accuracy without requiring more memory. For instance, if a system allows an 8-bit mantissa and omits the leading 1, it can store 8 meaningful bits after the binary point instead of only 7. This optimisation is especially important in scientific computing, graphics, and simulations, where precision can significantly impact results. However, this only applies to normalised numbers; denormalised numbers, such as zero or subnormal values, must still store all bits explicitly.

Yes, rounding errors can occur during normalisation, especially when the mantissa exceeds the number of available bits after shifting. When the binary point is moved during normalisation, digits may need to be shifted out of the mantissa to fit within its fixed bit length. If the bits being shifted out are non-zero, the number must be rounded to the nearest representable value. Most systems use round-to-nearest-even as the default method to minimise cumulative rounding errors over time. This means if the discarded bits represent a value of exactly half of the least significant bit, the system rounds to the nearest even number. In cases where rounding alters the mantissa in such a way that it exceeds the allowed format (for example, a carry into a higher bit), the exponent is increased accordingly, and the mantissa is re-normalised. These rounding mechanisms ensure the result is as accurate as possible within the constraints of the floating-point representation.

No, normalisation never changes the sign of a floating-point number. The process of normalisation affects only the mantissa and the exponent, specifically by adjusting the position of the binary point and modifying the exponent to maintain the numerical value. The sign of the number is stored in a separate sign bit in most floating-point representations, typically as 0 for positive and 1 for negative values. This sign bit remains unaffected during the normalisation process. For negative numbers, even though the mantissa is stored in two’s complement format in some educational models, or as a signed magnitude in others, the normalisation process still focuses on reformatting the value while preserving the sign. In fact, hardware and software systems are designed to preserve the sign bit through all floating-point operations unless an arithmetic instruction (like negation) explicitly changes it. Thus, normalisation maintains the mathematical identity of the number, including its sign, ensuring that positive numbers remain positive and negative numbers remain negative.

Hire a tutor

Please fill out the form and we'll find a tutor for you.

1/2
Your details
Alternatively contact us via
WhatsApp, Phone Call, or Email