Python之类的语言如何克服C的整数数据限制?

发布于 2021-01-29 16:46:58

在使用C,Python和Scheme的析因程序进行随机实验时。我遇到了这个事实:

在C中,使用’unsigned long
long’数据类型,我可以打印的最大阶乘为65。这是‘9223372036854775808’,即此处指定的19位数字


在Python中,我可以找到一个最大为999的阶乘,它由大量数字组成,远远超过19。

CPython如何实现这一目标?它是否使用“八字”这样的数据类型?

我可能在这里缺少一些基本事实。因此,我将不胜感激和/或阅读参考资料。谢谢!

更新:谢谢大家的解释。这是否意味着CPython正在使用GNU Multi-precision库(或其他一些类似的库)?

更新2:我正在寻找源代码中Python的’bignum’实现。到底在哪里?它位于http://svn.python.org/view/python/trunk/Objects/longobject.c?view=markup。感谢Baishampayan。

关注者
0
被浏览
44
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    称为 任意精度算术 。这里还有更多内容:http : //en.wikipedia.org/wiki/Arbitrary-
    precision_arithmetic



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看