草庐IT

python - BBP 算法所需的工作精度?

我希望在低内存环境中计算Pi的第n位。因为我没有可用的小数,所以这个integer-onlyBBPalgorithminPython一直是一个很好的起点。我一次只需要计算Pi的一位数。如何确定我可以设置的最低D,即“工作精度位数”?D=4给了我很多正确的数字,但有几个数字会差一个。例如,计算精度为4的数字393得到0xafda,我从中提取数字0xa。然而,正确的数字是0xb。无论我将D设置多高,似乎测试足够多的数字都会找到一个公式返回不正确值的数字。当数字与另一个数字“接近”时,我尝试提高精度,例如0x3fff或0x1000,但找不到“关闭”的任何好的定义;例如,在数字9798处计算得