OSX上のPython 2.5
次のコードで OverflowError: (34, 'Result too large') が発生しました。
x = 1.04
for i in range(2, 101):
x += x**i
print x
代わりに、以下のコードを使用しました。エラーは発生しませんでした。
x = 0
for i in range(1, 101):
x += 1.04**i
print x
結果は 1287.12865279 で、これは最大フロートから何マイルも離れているようです。この浮動小数点計算を処理するために別の型を使用する必要がある場合、前者のコードが機能しないのに後者のコードが機能するのはなぜですか? 困惑しています.....エラーを解決するためのヘルプと説明をいただければ幸いです。