概算で良ければ、こんな方法で桁数を知ることもできる。210 (= 1024) ≒ 103 (= 1000) だという事実を使う。
264 = 24 * 260
= 16 * (210)6
≒ 16 * (103)6
= 16 * 1018
= (6 + 10) * 1018
= 6 * 1018 + 10 * 1018
= 6 * 1018 + 1019
= 16 * (210)6
≒ 16 * (103)6
= 16 * 1018
= (6 + 10) * 1018
= 6 * 1018 + 10 * 1018
= 6 * 1018 + 1019
前半は 19 桁の数、後半は 20 桁の数(それも 1 の後に 0 が 19 個続くもの)なので、足しても 20 桁になる。なので、264 の方も、(少なくとも) 20 桁だとわかる。これなら、対数のことなんて思い出さなくても計算できる。
この程度で十分、実用になることもある。20 桁で最小の数は 1019だ。なら、1 から始めてここまで数えるのに必要な時間は何年か?
10000000000000000000 seconds
-> 2777777777777777 hours
-> 115740740740740 days
-> 317097919837 years
-> 2777777777777777 hours
-> 115740740740740 days
-> 317097919837 years
317,097,919,837 年。3100 億年以上。前回、正確な 264 の値で計算した 5800 億年以上にくらべたらかなり差があるけれど、どちらにせよ、宇宙が終わるぐらいの時間が必要だってことはわかる。1 億人で分担して並列に数えても、3100 年、10 億人で 310 年、...。これだけのスケール感がわかれば実用的には十分だ。
ところで、IT の世界では、これよりもっと大きな数を割り当てているものがある。それは IPv6 のアドレス。アドレスを 128 ビットで表すから、実に 2128 個もあることになる。
じゃ、2128 って、どれぐらい?
関連リンク
- IPv6 (Wikipedia:ja)
0 件のコメント:
コメントを投稿