存储任意精度整数

时间:2013-08-13 06:39:02

标签: python arbitrary-precision

我在c中写了一点任意精度(我知道存在这样的库,比如gmp,我觉得编写它更有趣,只是为了锻炼自己),我想知道数组是否是最好的表示非常长整数的方法,或者是否有更好的解决方案(可能是链接链)?其次,python如何使用大整数?(它是使用数组还是其他技术?)

提前感谢您的回复

2 个答案:

答案 0 :(得分:1)

尝试阅读有关libgmp的文档,它已经实现了bigints。从我看来,似乎整数被实现为动态分配,当数量需要增长时重新分配。见http://gmplib.org/manual/Integer-Internals.html#Integer-Internals

答案 1 :(得分:0)

Python长整数实现为一个简单的结构,只有一个对象头和一个整数数组(可能是16位或32位整数,具体取决于平台)。

代码位于http://hg.python.org/cpython/file/f8942b8e6774/Include/longintrepr.h