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