整数没有上限

10 分钟

电脑里的 int 就像一个固定大小的盒子,数字太大就会溢出来,装不下的部分被截掉,结果就乱了。Python 的整数像一个会自动变大的口袋,你算 2 的 100 次方它也稳稳装下。

看看 C++ 里 int 装不下的样子:

#include <iostream>
using namespace std;
int main() {
    int x = 1;
    for (int i = 0; i < 40; i++) x *= 2; // 想算 2 的 40 次方
    cout << x << endl;                   // 却得到 0,明显不对
    return 0;
}

运行结果不是那个大数,而是一个奇怪的值。要注意:换成 long long 能装更大的数,但也有上限,真要算超大整数还得写高精度;而同样一行,Python 写 2**40 就直接得到正确答案。

小纸条

这对做数学题有什么好处?

登录 后可看答案

整数没有上限 · C++ 入门 · op599 课程