0
我想在python中的字典中存儲前1000個bernoulli數字。起初,我只是保存了原來的數字。所以我得到了一個溢出錯誤。現在經過以前的答案,我想到了使用十進制模塊。即使在使用十進制模塊後,存儲bernoulli數字是給python溢出錯誤
所以這裏
-5218507479961513801890596392421261361036935624312258325065379143295948300812040703848766095836974598734762472300638625802884257082786883956679824964010841565051175167717451747328911935282639583972372470105587187736495055501208701522099921363239317373617854217050435670713936357978555246779460902210809009009539232173/2291190
的第260號伯努利。我能夠將以前的所有內容存儲在字典中。
這是我寫的示例代碼。
from decimal import *
d = Decimal
getcontext().prec = 10000
di = {260: d(-5218507479961513801890596392421261361036935624312258325065379143295948300812040703848766095836974598734762472300638625802884257082786883956679824964010841565051175167717451747328911935282639583972372470105587187736495055501208701522099921363239317373617854217050435670713936357978555246779460902210809009009539232173/2291190)}
這是錯誤快照
有沒有更好的方式來處理如此龐大的數字?請告訴我,如果有什麼可以做的事情來存儲這些數字。
你沒有使用'decimal'模塊後才能大量轉換爲
Decimal
。你需要將你的術語轉換爲十進制_before_你對它們進行算術運算。作爲替代方案,您可以使用'fractions'模塊,並將Bernoulli數字存儲爲有理數 –Ohh ..好吧,實際上我所做的是我使用matlab來生成所有這些數字。 Matlab只能以分數格式生成。所以我必須這樣做 – bharath
順便說一句,你不能在Python中得到整數溢出,因爲Python整數會根據需要增長。錯誤消息指出,您正在獲取_float_溢出。 –