对于下面的程序
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/