c - python 中参数/变量的存储限制

标签 c assembly python-3.x

对于下面的程序

def sum_naturals(n):
    total, k = 0, 1
    while k <= n:
        total, k = total + k, k + 1
    return total

sum_naturals(5000000000000000000000)

过去 20 分钟以来,我正在等待处理器 intel t1400 1.83 ghz 的输出。

我的问题是,

Python如何处理这么大的数据,因为我的处理器只有32位寄存器? C 程序很早就会给出错误?

最佳答案

Python 的 int 类型支持任意大的数字。在内部,有两种表示形式:用于小数字的单个机器 int 和用于较大数字的 int 数组(以及单独存储的符号)。该数组表示大基数中数字的数字。

关于c - python 中参数/变量的存储限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14417627/

相关文章:

c - strcmp 不工作?

c++ - 使 size_t 和 wchar_t 可移植?

python - 在字典中查找符合条件的值

c - 这个程序如何知道存储这个字符串的确切位置?

python - Pandas : filter the rows based on a column containing lists

python - Python 数据框中列子集的 groupby 和平均值

c - 在 C 中写入文件和控制台

c - 如何在 ARM 内联汇编程序中使用特定寄存器

assembly - 当我们将 16 位数字除以 8 位 1 时会发生什么?

assembly - 与推送功能相同的指令序列