First we consider the significand. The significand is a string of $P$ digits in the base $B$, but except for the representation of the number $0$ it is normalized so that the first digit is not $0$. Since there are $B$ base-$B$ digits, $0,1,\dots,B-1$, there are $B-1$ possible first digits, $1,\dots,B-1$. Each of the remaining $P-1$ slots in the significand can be filled with any of the $B$ digits, so these $P-1$ slots can be filled in $B^{P-1}$ different ways. There are therefore altogether $(B-1)B^{P-1}$ ways to fill all $P$ slots of the significand.
Example: If $B=10$ and $P=3$, you’re just counting the possible $3$-digit numbers in base $10$, i.e., the integers from $100$ through $999$: there are $9$ choices for the first digit, since $0$ is not permitted, and $10$ for each of the other two digits, for a total of $9\cdot 10^2=900$ choices. As a check on this, observe that there are certainly $999$ integers between $1$ and $999$ inclusive, and we’re throwing out the $99$ integers from $1$ through $99$, so we must be left with $999-99=900$ integers altogether.
The significand is signed, so each of these $(B-1)B^{P-1}$ different values can appear either positively or negatively; this doubles the actual number of choices for the significand, making it $2(B-1)B^{P-1}$.
Now we consider the exponent. It can take any integer value between $e_{\min}$ and $e_{\max}$ inclusive. Let $a=e_{\min}-1$; then $e_{\min}=a+1$, $e_{\min}+1=a+2$, $e_{\min}+2=a+3$, and in general $e_{\min}+k=a+(k+1)$ for any $k$. Let $d=e_{\max}-e_{\min}$; then $e_{\max}=e_{\min}+d$, so $e_{\max}=a+(d+1)$. The integers from $e_{\min}$ through $e_{\max}$ are therefore $$a+1,a+2,\dots,a+d,a+(d+1)\;,\tag{1}$$ and it’s clear from looking at the second term of each of these sums that there are $d+1$ integers in the list $(1)$. But $d+1=e_{\max}-e_{\min}+1$, so there are $e_{\max}-e_{\min}+1$ possible values of the exponent.
Example: If $e_{\max}=8$ and $e_{\min}=-7$, $a=-7-1=-8$, and $d=8-(-7)=15$, the possible exponents are the integers from $a+1=-7$ through $a+(d+1)=-8+16=8$, and there are $d+1=16$ of them. As a check, there are clearly $7$ possible negative exponents, $8$ possible positive exponents, and $0$, for a total of $7+8+1=16$ possible exponents.
Each of the $2(B-1)B^{P-1}$ possible values of the signed significand can be combined with any of the $e_{\max}-e_{\min}+1$ possible values of the exponent, so there are altogether $$2(B-1)B^{P-1}(e_{\max}-e_{\min}+1)\tag{2}$$ possible combinations, each representing a different number. However, $(2)$ counts only the non-zero numbers that can be represented; the system can also represent the number $0$, so the grand total is $$2(B-1)B^{P-1}(e_{\max}-e_{\min}+1)+1$$ representable numbers.
The range is determined by the biggest and smallest (positive) numbers you can represent. Clearly, with two digits in the exponent you can write numbers from approximately $10^0$ (or $10^{-99}$ if you allow signs) to $10^{99}$ (even more by clever choce of mantissa). With one-digit exponents the range is much smaller: from $10^{-9}$ to $10^{9}$.
The precision is determined by the smallest (relative) difference between two representable numbers. The difference between $3.14$ and $3.15$ is about $0.3\%$ of the values (and also the difference between $6.02\cdot 10^{23}$ and $6.03\cdot 10^{23}$ or between $1.60\cdot 10^{-19}$ and $1.61\cdot 10^{-19}$ is of the same - relative - magnitude. On the other hand $3.1415926535897932384626433$, $6.02214129\cdot10^{26}$ and $1.602176565\cdot10^{-19}$ carry a lot more precision. The latter two are numerical values for the Avogadro constant and the elementary charge. Obtaining thes values required very precise measurements. The precision does not depend on the exponent. That is, if the value of $e$ in other unit systems is $1.602176565\cdot10^{6}$, the same careful prcision in the measurements is required to obtain so many digits.
Best Answer
Example: Convert 50.75 (in base 10) to binary.
First step (converting 50 (in base 10) to binary):
Second step (converting 0.75 (in base 10) to binary):
This method can also be used to convert a float to octal or hexadecimal. Same methodology.