>>79 log だけ知ってても仕方ないぞ。

公式は 10進桁数 D= B(2進桁数) log102 の繰り上げ整数値 だが、log102 は浮動小数では完全表現できないので、
その時点で誤差を含んでるといえるが、ただし、公式は「繰り上げ整数値」だ。

つまり、結果が 999999999... 10000000....1 のような値にならない限りは、実用上問題なく、
log102 をかけて、偶然、9999999.... 10000....1 のような結果になることもまずないであろうから、誤差があっても問題がないということだ。

本題の 小数桁取得であるが、色々あるんだろうが、 IEE765 の浮動小数アルゴリズムの、逆をたどって、それを参考にすればよいではないか。