3

タッパーの自己参照式をプロットする Python プログラムを作成しようとしていますが、いくつかの問題が発生しました。

まず、私のプログラムは処理しなければならない大きなフロートを処理できなかったのでBigFloats、問題を解決するために を使用することにしました。それはうまくいきました。私の問題は、540 桁の数字を掛ける必要があるBigFloatことです。これを行うと、数字が丸められて不正確になり、後で問題が発生します。を 1000 に上げようとしましたが、precisionまだ変数を丸め続けています。

問題は、一部の数値は正確な値なしで処理できBigFloatますが、一部の数値は正常に処理できず、BigFloat現在も処理できないということです。

以下は、うまくいかない計算の 1 つです (これは なしで処理できますBigFloat)。

import bigfloat
y = 960939379918958884971672962127852754715004339660129306651505519271702802395266424689642842174350718121267153782770623355993237280874144307891325963941337723487857735749823926629715517173716995165232890538221612403238855866184013235585136048828693337902491454229288667081096184496091705183454067827731551705405381627380967602565625016981482083418783163849115590225610003652351370343874461848378737238198224849863465033159410054974700593138339226497249461751545728366702369745461014655997933798537483143786841806593422227898388722980000748404719
x = 0
with bigfloat.precision(1000):
    (y//17 * bigfloat.pow(2,0)) % 2

そのコードは 1 を返すはずですが、代わりに 0 を返します。

BigFloatプログラムで使用できるように、より正確にする方法はありますか?

4

1 に答える 1