Python - 将浮点基数 2 转换为基数 10 到 100+ 小数位

问题描述 投票:0回答:1

我正在尝试为“素数常数”找到更多的小数位。使用 '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)
python math binary decimal radix
1个回答
0
投票

尝试

base10 = Decimal(int(joinsplit, base=base)) / Decimal(divisor)
© www.soinside.com 2019 - 2024. All rights reserved.