我正在尝试制作一个绘制Tupper 的自引用公式的 Python 程序,但遇到了一些问题。
首先,我的程序无法处理它必须处理的大浮点数,所以我决定用BigFloats
它来解决我的问题。它奏效了,有点。我的问题是我有一个 540 位长的数字需要乘以BigFloat
当我这样做时,它会将数字四舍五入,使其不精确,这会导致以后出现问题。我试图将 1000 提高precision
到 1000 并且它仍然不断地四舍五入变量。
问题是,有些数字可以在没有BigFloat
精确值的情况下处理,但有些数字既不能正常处理,也不能用BigFloat
现在处理。
这是出错的计算之一(这个可以在没有 的情况下处理BigFloat
):
import bigfloat
y = 960939379918958884971672962127852754715004339660129306651505519271702802395266424689642842174350718121267153782770623355993237280874144307891325963941337723487857735749823926629715517173716995165232890538221612403238855866184013235585136048828693337902491454229288667081096184496091705183454067827731551705405381627380967602565625016981482083418783163849115590225610003652351370343874461848378737238198224849863465033159410054974700593138339226497249461751545728366702369745461014655997933798537483143786841806593422227898388722980000748404719
x = 0
with bigfloat.precision(1000):
(y//17 * bigfloat.pow(2,0)) % 2
该代码应返回 1,但它返回 0。
有没有办法BigFloat
更准确,以便我可以在我的程序中使用它?