float型とは、floating point number、つまりは浮動小数点数の略です。
浮動小数点数とは、小数点の位置が動く(浮動する)ということ。
intは、真面目に0、1、2…と数を割り振りますが、
floatは、数を実数と指数(小数点の位置)の2つの情報を使って管理します。
実数部1と小数点位置20とかやるだけで、
100000000000000000000 なんて数を表せます。
その代わり、実際に扱える数はintより少ないので、沢山の桁数の数を扱えても、そのうち明確に示せる桁数には限界があります。
100000000000000000003
みたいな数は表せないのです。
それが、最後に書かれている「有効桁数」の意味です。