1

与 C 等语言相比,python 中是否存在 long long 等值数据类型。我需要它来存储大小数。如果没有的话,有可能实现吗?

另外,我听说有一个 Decimal 库显然可以做到这一点。不管我告诉它去多少地方,它都会去吗?

谢谢。

4

2 回答 2

4

是的,巨大的整数有一个 long long 数据类型。它被称为Long。32位整数中太长的整数会自动变成Longs,一般不用考虑。但是,您可以通过在数字后添加 L 来显式创建 on:

foo = 27L

在 Python 3 中,类型已被合并,因此您不能再显式创建它。实际上,所有整数也是长整数。

于 2013-06-30T06:12:40.040 回答
1

您询问了整数(long long 是整数),但您对 Lennart 的回答表明您确实想要任意精度的数学。谷歌来了解你的方位并决定什么是最好的 - 有多种方法可以走,在你决定之前你可能需要更多的背景知识。

一个例子是 python 的小数,对于您询问的数字,您可以使用将精度设置为 38

getcontext().prec = 38

然后输入您的号码:

mynum = Decimal('22949399592991949996949929959799391997989992993979799492949799999999192996979909‌​699992999.39349979799018999992885868687758484883')
于 2013-07-01T22:20:08.433 回答