This problem can be decomposed into determining the position of the decimal point, plus or minus.

So the binary string is divided into sign bits, exponents, mantissa. Sign bit, 0, 1 represent positive and negative respectively. The exponent, which uses the size of a binary number to determine how many times the decimal point moves from left to right. Mantissa is the part of final result display.

It is not hard to see that the minimum accuracy is 2 to the -7 when expressing decimals in 8 bits. At this point, if you want to represent a smaller value, you simply print 0. I tried it on my computer, multiplying 1 by 0.5 and printing the result. The output is 0 until less than 5E-324.

Reference:

[1] Introduction to Computer Science (12th edition), P37.