具体的な計算はid:smoking186さんがlog_{10} (2^{100})!を推定する - 186 @ hatenablogで書かれてますが、とりあえず。
まあ、2の何乗かが何桁になるかは、プログラマのたしなみなんで、2の100乗が何桁になるかは基本として。
何ビットで何桁が扱えるかとかは、よくある問題ですよね?
2^10が1024で、だいたい10^3になるので、2^100は2^10^10≒10^3^10=10^30
ということで、2^100はだいたい30桁になります。
そのときの1の位ですが、id:odzさんが書いてる通り、2を何回も掛けていくと1の位は2・4・8・6が繰り返されます。100は4で割り切れるので、2^100の1の位は6になります。
で、2^100の1億の位ですが、2^100を階乗するときには、その途中で必ず10億を掛けるので、少なくとも1億の位までは0が続きます。
問題は、2^100の階乗が何桁になるかですが、階乗はスターリングの公式で近似してこうなります。
ここで、は2より大きくて3より小さいくらいなので、桁数にはほとんど影響しません。ということで、切捨て。
ということは、桁数としては
の桁数+の桁数-の桁数
となります。
の桁数は、15ケタですね。
のケタ数は、ケタということになります。これはでっかい数字なので、15とか足してもあんまり変わりません。
はeがよりも小さいことから、より小さいということになります。ということで、ケタより小さいということに。
求めたいケタ数はということになりますが、300から5を引くというのも、まあ誤差ってことで切り捨てちゃいます。
そうすると、最終的には、2の100乗の階乗はケタということになります。