IEEE 754 Notation

3. Creating the Bitstring

You're almost done when the number is in this form:

(-1)^{sign bit}* (1+fraction) * 2^{exponent - bias}

This was a clever move. Instead of one messy value, you now have three important pieces of information that can identify the number.

- If the sign bit is a 0, then the number
is positive; (-1)
^{0}= 1. If the sign bit is a 1, the number is negative. - We always factor so that the number in parentheses equals 1 +
some fraction. Since we know that the 1 is there,
the only important thing is the fraction, which you will write as a
binary string. Just multiply each digit times its place value, as in these
examples:

0.1_{bin}= 2^{-1}= (1/2)

0.01_{bin}= 2^{-2}= (1/4)

0.101_{bin}= 2^{-1}+ 2^{-3}= (5/8) - The power of 2 that you got in the last step is simply an integer. Since
you don't want to deal with any messy negative numbers, you can add a
constant value (the bias) to that power.

For single-precision floating-point, the bias=127.

For double-precision, the bias=1023.

The sum of the bias and the power of 2 is the exponent that actually goes into the IEEE 754 string. Remember, the**exponent = power + bias**. (Alternatively, the power = exponent-bias).

When you have calculated these binary values, you can put them into a 32- or 64-bit field. The digits are arranged like this:

(1)sign | (8) exponent | (23) fraction |

(1)sign | (11) exponent | (52) fraction |

The numbers in parentheses show how many bits are required in each field.