2010-08-19

2^64 (2 の 64 乗) って、どれぐらい? (続き)

概算で良ければ、こんな方法で桁数を知ることもできる。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

前半は 19 桁の数、後半は 20 桁の数(それも 1 の後に 0 が 19 個続くもの)なので、足しても 20 桁になる。なので、264 の方も、(少なくとも) 20 桁だとわかる。これなら、対数のことなんて思い出さなくても計算できる。

この程度で十分、実用になることもある。20 桁で最小の数は 1019だ。なら、1 から始めてここまで数えるのに必要な時間は何年か?

10000000000000000000 seconds
-> 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 件のコメント:

コメントを投稿