如何处理任意大整数

Ale*_*nor 13 c++ integer overflow integer-overflow long-integer

我正在编写一种编程语言,今天我得到了可以编译阶乘函数(递归)的点,但是由于整数的最大值,我能得到的最大值是阶乘(12).什么是处理任意最大大小的整数的技术.该语言目前通过将代码转换为C++来工作.

Bar*_*lly 18

如果需要大于32位,可以考虑使用64位整数(long long),或使用或编写任意精度数学库,例如GNU MP.


Joh*_*ook 5

如果你想要自己的任意精度库,请参阅Knuth的精神数学算法,他的巨着作品第2卷.