gpt4 book ai didi

python - Python 等语言如何克服 C 的 Integral 数据限制?

转载 作者:行者123 更新时间:2023-11-28 19:31:17 26 4
gpt4 key购买 nike

在使用 C、Python 和 Scheme 中的阶乘程序进行一些随机实验时。我发现了这个事实:

在 C 中,使用 'unsigned long long' 数据类型,我可以打印的最大阶乘为 65。即 '9223372036854775808',即指定的 19 位 here .

在 Python 中,我可以找到一个大到 999 的数的阶乘,它由大量数字组成,比 19 多得多。

CPython 是如何做到这一点的?它是否使用类似“octaword”的数据类型' ?

我可能在这里遗漏了一些基本事实。所以,我会很感激一些见解和/或引用阅读。谢谢!

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

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

最佳答案

它叫做任意精度算术。这里还有更多:http://en.wikipedia.org/wiki/Arbitrary-precision_arithmetic

关于python - Python 等语言如何克服 C 的 Integral 数据限制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/867393/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com