【问题标题】:STL BigInt class implementationSTL BigInt 类实现 【发布时间】:2011-06-27 05:02:39 【问题描述】: STL 有 BigInt 类实现吗? (容器中包含多位数字的数字) 【问题讨论】: 标签: c++ stl bigint 【解决方案1】: 没有,但是MPIR/GMP 有 C++ 接口。 【讨论】: 【解决方案2】: C++ 标准库(有时被错误地称为“STL”)不包含任何扩展精度支持。 【讨论】: 为什么标准模板库被错误地称为 STL? @Cristy,STL 是 C++ 标准化之前的特定模板库实现的名称,它大部分但不完全兼容。我可能有点苛刻,我现在记得 Scott Meyers 的书叫做“Effective STL”——如果这样的权威仍然使用这个词,对我们其他人来说应该没问题。 STL 只是 C++ 标准库的一小部分。 标准模板库是 STL,但STL 不引用C++ 标准库。正如 Chris Dodd 所说,标准模板库只是 C++ 标准库的一小部分。 C++ 标准库包含 STL 等。我希望这可以消除任何困惑。 @Phoenix,事实比这更微妙-见stackoverflow.com/questions/5205491/… 【解决方案3】: 不幸的是,C++ 标准库本身并不支持任意长的整数。但是,这些库可以帮助您完成工作: The GNU Multiple Precision Arithmetic Library(同时具有 C 和 C++ 接口,也称为 GMP) InfInt C++ BigInt class Boost.Multiprecision Multiple Precision Integers and Rationals(汇编编写,有C接口) BigDigits multiple-precision arithmetic(在 C 中) BigIntegerCPP(只支持加法和乘法) C++ Big Integer Library(不再维护) 【讨论】: 如此全面的列表还应该包括boost多精度:boost.org/doc/libs/master/libs/multiprecision/doc/html/…