There are two ways I know of to convert decimal places into binary.
1) Break down the decimal place
You should be familiar with convert whole decimal numbers using powers of 2:
Code:
2^7 2^6 2^5 2^4 2^3 2^2 2^1 2^0
0 0 1 0 0 1 0 0
That mean 100100 base2 is 36 base10
You can extend that idea past the "radix point". The radix point is just the . when powers become -ve, normally in base 10 you would call it the decimal point.
Code:
0 . 2^(-1) 2^(-2) 2^(-3) 2^(-4)
=> . 1/2 1/4 1/8 1/16
=> . 0.5 0.25 0.125 0.0625
Now try and convert 0.875.
Code:
0 . 2^(-1) 2^(-2) 2^(-3) 2^(-4)
=> . 1/2 1/4 1/8 1/16
=> . 0.5 0.25 0.125 0.0625
1 1 1 0
0.5 + 0.25 + 0.125 = 0.875 base10 = 0.111 base 2
2) Repeated multiplication
Say you wanted to convert 0.6875
Code:
0.6875
x 2
------
1.3750
x 2
------
0.7500 < ignore the 1 whole, just multiply 0.3750
x 2
------
1.5000
x 2
------
1.0000
x 2
------
0.0000
x 2
------
00
... and so on
Now read the whole numbers carried over at each multiplication starting from the first answer from top to bottom:
0.6875 base10 = 0.1011 base2