Binary Fixed Point

A binary fixed point system is another example of an Arabic numeral system. The only distinction from decimal is the radix. Binary uses a radix of 2 instead of 10.

We specify the radix (base) using a subscript on the number. From now on, we will not assume a base of 10, but will always specify the base.

1001.1012 = 1 * 23 + 0 * 22 + 0 * 21 + 1 * 20 + 1 * 2-1 + 0 * 2-2 + 1 * 2-3

= 8 + 0 + 0 + 1 + .5 + 0 + .125

= 9.62510

An easy way to read binary is by working left and right from the binary point, doubling or halving the value of the digits at each step:

1001.101_2 = ?

1001 = 1*1 + 0*2 + 0*4 + 1*8 = 9_10
.101 = 1*.5 + 0*.25 + 1*.125 = 0.625_10

1001.101_2 = 9.625_10
        
Limitations of Binary

Try to convert 1/10 to binary. It actually cannot be done: It's like trying to represent 1/3 in decimal, in that requires an infinite number of digits. This is a problem for monetary systems using dollar amounts. One solution invented by computer engineers many decades ago is Binary Coded Decimal, or BCD, where each nybble stores one decimal digit. Then someone realized that storing money amounts in pennies rather than dollars makes BCD unnecessary, since everything is an integer.

Practice

Note

Be sure to thoroughly review the instructions in Section 2, “Practice Problem Instructions” before doing the practice problems below.
  1. What distinguishes binary fixed point from decimal?

  2. Besides range and precision, what is another limitation of binary fixed point?