4.1.7
Floating Points in Binary
Floating Point Representation
Floating Point Representation
Floating point is a method of representing numbers in binary, which makes use of a binary point placed after the ‘most significant bit’ (MSB).


Floating point
Floating point
- A floating point binary number is made up of two parts:
- The mantissa is the main number, containing a binary point after the MSB.
- The exponent determines where the binary point is positioned before the number is read.
- If the exponent is negative (i.e. it begins with a ‘1’), the binary point is moved left instead of right.


Converting to denary
Converting to denary
- After the binary point has been moved, we can read the value of the mantissa.
- The denary value of the binary digit to the right of the binary point corresponds to:
- .
- Each subsequent binary digit corresponds to .. and so on.


Example
Example
- The example below is a 12-bit floating point number, with an 8-bit mantissa and a 4-bit exponent:
- 0 . 1 0 1 1 0 0 0 0 0 1 1
- The exponent 0011 (which is equal to 3) identifies where the binary point should move in order to read the number.


Example cont.
Example cont.
- In this example, the binary point is moved 3 places to the right, which in turn subtracts 3 from the exponent:
- 0 1 0 1 . 1 0 0 0 0 0 0 0
- This represents the decimal number 5.5.
Normalisation of Floating Points
Normalisation of Floating Points
Floating point binary numbers should be normalised to ensure they are as precise as possible.


Normalisation
Normalisation
- The same decimal number can be represented in a number of different ways using floating point, depending on the number of bits available.
- To ensure the mantissa is as precise as possible (normalised), the binary point and exponent should be adjusted so that:
- A positive number has a ‘0’ before the binary point and a ‘1’ after it.
- A negative number has a ‘1’ before the binary point and a ‘0’ after it.


Example
Example
- The example shown is an un-normalised 12-bit floating point number, with an 8-bit mantissa and a 4-bit exponent:
- 0 . 0 0 1 0 1 1 0 0 1 0 1
- It is un-normalised because the bits either side of the binary point are the same.
- The binary point needs to move two places to the right, ensuring it remains a positive number (the MSB is still a ‘0’), but the bit after the point is a ‘1’.


Example cont.
Example cont.
- Moving the point two places to the right reduces the value of the exponent by two, resulting in:
- 0 . 1 0 1 1 0 0 0 0 0 1 1
- Notice the two excess bits to the left of the MSB in the mantissa have been moved to the end of the mantissa, ensuring it remains 8 bits in size.


Negative floating point
Negative floating point
- Normalising negative floating point binary numbers follows the same procedure, except the point is moved until the MSB is a ‘1’ and the bit following the point is a ‘0’.
1Components of a Computer
1.1Structure & Function of the Processor
1.2Types of Processors
2Software & Software Development
2.1Systems Software
2.2Applications Generation
2.3Software Development
3Exchanging Data
3.1Compression, Encryption & Hashing
3.3Networks
4Data Types, Data Structures & Algorithms
4.1Data Types
5Legal, Moral, Cultural & Ethical Issues
5.1Computing Related Legislation
6Elements of Computational Thinking
6.1Thinking Abstractly
6.2Thinking Procedurally
6.3Thinking Logically
7Problem Solving & Programming
7.1Programming Techniques
7.2Programming Construction
Jump to other topics
1Components of a Computer
1.1Structure & Function of the Processor
1.2Types of Processors
2Software & Software Development
2.1Systems Software
2.2Applications Generation
2.3Software Development
3Exchanging Data
3.1Compression, Encryption & Hashing
3.3Networks
4Data Types, Data Structures & Algorithms
4.1Data Types
5Legal, Moral, Cultural & Ethical Issues
5.1Computing Related Legislation
6Elements of Computational Thinking
6.1Thinking Abstractly
6.2Thinking Procedurally
6.3Thinking Logically
7Problem Solving & Programming
7.1Programming Techniques
7.2Programming Construction

Unlock your full potential with GoStudent tutoring
Affordable 1:1 tutoring from the comfort of your home
Tutors are matched to your specific learning needs
30+ school subjects covered