Computer Arithmetic - Binary for Decimal Numbers

Posted by MarkPearl on Geeks with Blogs See other posts from Geeks with Blogs or by MarkPearl
Published on Wed, 21 Mar 2012 04:41:18 GMT Indexed on 2012/03/21 11:30 UTC
Read the original article Hit count: 326

Filed under:

 

This may be of use to someone else doing this course…

The Problem

In the section on Computer Arithmetic it gives an example of converting -7.6875 to IEEE floating point format. I understand all the steps except for the first one, where it does the following...

7.6875 (base 10) = 111.1011 (base 2)

I don't understand the conversion - I realize that 111 (base 2) = 7 (base 10), but how does the .6875 part relate to the .1011? Or am I totally off track with this?

The Solution

The fractional part of the decimal to binary conversion is done as follows:

0.6875 x 2 = 1.375 = 0.375 + 1 (Keep the 1 separate)

0.375 x 2   = 0.75   = 0.75    + 0

0.75 x 2    = 1.5      = 0.5      + 1

0.5 x 2     = 1.0       = 0.0       + 1

The bit pattern of 0s and 1s on the right-hand side gives you the fractional part.

So 0.6875 (base 10) = .1011 (Base 2)

See also Stallings, chapter 19.

© Geeks with Blogs or respective owner