在python中是否有一个很长的equivelant数据类型而不是像C这样的语言。我需要它来存储大小数。如果没有,是否有可能成功?
另外,我听说过一个显然是这样做的Decimal库。我告诉它的地方有多少吗?
感谢。
答案 0 :(得分:2)
是的,有一个很长的数据类型适用于庞大的整数。它被称为Long
。太长而无法存储在32位整数中的整数会自动变为Longs,因此您通常不必考虑它。但是,您可以通过在数字后添加L来明确创建:
foo = 27L
在Python 3中,类型已合并,因此您无法再显式创建它。实际上所有整数都是长的。
答案 1 :(得分:1)
你问过整数(long long是一个整数),但你对Lennart的回应表明你真的想要任意精确的数学。谷歌可以帮助您确定最佳状态 - 有多种方法可供选择,您可能需要更多背景知识。
一个例子是python的decimal,其中,对于您询问的数字,您可以使用
将精度设置为38getcontext().prec = 38
然后输入您的号码:
mynum = Decimal('22949399592991949996949929959799391997989992993979799492949799999999192996979909699992999.39349979799018999992885868687758484883')