OOPortal
OOPortal

Data Types
«Prev
Next»

## Floating-point Numbers in Computer Science

Lesson 7 | Floating-point numbers |

Objective | Explain what a floating-point number is. |

To represent real numbers such as 1/3, PI, -1.23 * 1035, and -2.6 * 10-28, most computers use IEEE Standard 754 *floating-point numbers* .
Using this representation, a real number is expressed as the product of a binary number greater than or equal to 1 and less than 2 (called the mantissa)
multiplied by 2 raised to a binary number exponent.

In practice, it is very unlikely that you will ever need to look at the binary form for the floating-point representation of a real number, so we will just take a quick look at one example to give you the general idea. Single precision floating-point representation uses 32 bits.

1 bit is used for the sign bit, 8 bits are used for the exponent, and 23 bits are used for the mantissa. Here's the 32-bit floating-point representation of the real number 1/3.

Floating-point number: Used to represent a real number on a computer.

In practice, it is very unlikely that you will ever need to look at the binary form for the floating-point representation of a real number, so we will just take a quick look at one example to give you the general idea. Single precision floating-point representation uses 32 bits.

1 bit is used for the sign bit, 8 bits are used for the exponent, and 23 bits are used for the mantissa. Here's the 32-bit floating-point representation of the real number 1/3.

Floating-point number: Used to represent a real number on a computer.

Sign bit | Exponent | Mantissa |

`0` |
`01111101` |
`01010101010101010101010` |

The sign bit is 0, indicating that this is a positive number.
The exponent is the binary representation of the decimal number 125. To obtain the actual exponent we subtract 127, to obtain -2.
This exponent bias allows the range of the exponent to be from -127 to 128. Finally, the mantissa represents the binary number

Note that the leading 1 of the mantissa is implied, to provide an additional digit of precision.

1.01010101010101010101010.

Note that the leading 1 of the mantissa is implied, to provide an additional digit of precision.

The decimal value of the mantissa is:

This is approximately 1.3333333 and thus, 1/3 is represented, using 32-bit floating-point representation, as approximately 1.3333333 * 2^{-2} or 1.3333333 * 1/4.

What's most important to remember about floating-point representation is that it allows you to represent a tremendous range of real numbers, but with limited precision. Single precision (32-bit) floating-point numbers are accurate to about 7 decimal digits, and double precision (64-bit) floating-point numbers are accurate to about 17 decimal digits.

We have covered how a computer stores numbers. Next we will consider how text is stored.

20 + 2^{-2}+ 2^{-4}+ 2^{-6}+ ... + 2^{-22}= 1 + 1/4 + 1/16 + 1/64 + ... + 1/2097152

This is approximately 1.3333333 and thus, 1/3 is represented, using 32-bit floating-point representation, as approximately 1.3333333 * 2

What's most important to remember about floating-point representation is that it allows you to represent a tremendous range of real numbers, but with limited precision. Single precision (32-bit) floating-point numbers are accurate to about 7 decimal digits, and double precision (64-bit) floating-point numbers are accurate to about 17 decimal digits.

We have covered how a computer stores numbers. Next we will consider how text is stored.