Consider the decimal number 11.37510. We already know that the binary value of 11 is 10112. Now we need to find the binary number for the fractional part 0.37510. The steps below show how to convert this number to binary using repeated multiplication.

  1. First, we multiply 0.375 by 2 to find the most significant digit (the rightmost digit). Since our result is less than 1, the most significant digit in our answer is 0.
0.375*2 = 0.75
0 . 0 ? ?
  1. Next, we take the fractional part of our previous result (0.75) and multiply by 2 again. Now the result is greater than 1, so the next digit of our answer is 1.
0.75*2 = 1.5
0 . 0 1 ?
  1. Again we take the fractional part of our previous result (0.5) and multiply by 2. This time our result is exactly 1, so the least significant digit (the leftmost digit) is 1. Since the fractional part of our result is 0, this is the last multiplication needed to find our answer.
0.5*2 = 1.0
0 . 0 1 1

We can also organize this conversion in table form as we did with the previous one.

 0.375 * 2 = 0.75  (leftmost digit)
 0.75  * 2 = 1.5
 0.5   * 2 = 1.0   (rightmost digit)

This time we read our answer of 0.0112 from top to bottom since the first multiplication gives us the most significant digit, and the last multiplication gives us the least significant digit.

Animated version

Consider the decimal number 11.37510. To find the binary value for this number we use both repeated division on the integer part (11) and repeated multiplication on the fractional part (0.375). Then we simply combine the two binary values to get our answer of 1011.0112.

 +    0.011

It is important to note that many decimal fractions do not have an exact representation in binary. For example, when we convert the decimal fraction 0.110 to binary, our answer looks like this:


Notice how this binary fraction repeats infinitely. Since we cannot represent some fractions exactly in binary, we cannot perform exact arithmetic with fractions. You may not realize it, but your computer actually has very tiny amounts of error in its computations. You rarely see these errors because the binary approximations are very close to the exact decimal value. However, when programmers write programs which perform many mathematical computations, they must consider this error to ensure their answers are reliable.