なんだか難しそうですが, 結論は簡単です, コンピュータでとても大きな数を 扱うときには注意が必要である, ということです.
しかし, 浮動小数点数の場合はもっと大きい絶対値をもつ小数を扱うことが 出来ます.
いま, 手元にあるコンピュータの Python では「普通に」扱える整数 の最大値は, 2147483647 ですが, この 2 倍の近似値を求めることは 出来ます:
>>> 2147483647e0*2 4294967294.0ここで,
2147483647e0
は
(ただし, 浮動小数点数でも扱える数値の範囲には限度はあります.)
なお, Python では整数の後に「L」をつけることにより, 大きい整数を 計算することが出来ます(多分, 計算機のパワーの許す限りの桁数を使える でしょう). 232 は普通の整数としてはオーバーフローしますが, 「L」をつけると計算できます:
>>> 2**32 Traceback (innermost last): File "<stdin>", line 1, in ? OverflowError: integer pow() >>> 2L**32 4294967296L >>> _ ** 2 18446744073709551616L