我正在尝试为“素数常数”找到更多的小数位。使用 'getcontext().prec=100' 后输出最大为小数点后 51 位
from decimal import *
getcontext().prec = 100
base = 2
s = "0.0110101000101000101000100000101000001000101000100000100000101000001000101000001000100000100000001000101000101000100000000000001000100000101000000000101000001000001000100000100000101000000000101000101000000000001000000000001000101000100000101000000000100000100000100000101000001000101000000000100000000000001000101000100000000000001000001000000000101000100000100000001000001000001000100000100000001000100000001000000000101000000000101000001000100000100000001000101000100000000000100000001000100000001000100000100000000000101000000000000000001000001000000000100000100000101000001000000000100000100000101000001000001000101000000000001000000000101000100000100000101000000000001000100000100000001000000000100000001000000000100000001000001000001000100000001000001000100000001000100000000000001000000000100000000000101000000000101000101000000000100000000000001000101000100000000000001000101000100000000000000000001000100000001000000000100000001000100000100000100000000000001000100000100000100000001000001000000000001000100000101000"
split = s.split(".")
joinsplit = "".join(split)
position = len(split[1]) if len(split) > 1 else 0
divisor = base ** position
base10 = Decimal(int(joinsplit, base=base) / divisor)
print(base10)
尝试
base10 = Decimal(int(joinsplit, base=base)) / Decimal(divisor)