quick example, Convert:
3.625
Integer part in binary:
11
Fractional part:
Take fractional part and multiply by 2:
0.625 * 2 = 1.25 // this is over one, so the first fractional bit is 1
Take fractional part from previous result and multiply by two:
0.25 * 2 = 0.5 // This is less than one, the second fractional bit is 0
Again, take fractional part and myltiply by two:
0.5 * 2 = 1 // Equal to one, The third fractional bit is 1, end of algorithm.
Final binary presentation:
11.101
From that it should not be very hard to construct an IEEE compliant float.
The most "code intensive" part is probably working with the string (you need to write the algorithm so that it does the math in string format, or some clever data structure, so that you do not lose precision).