Boost 1.53.0から、多倍長演算ライブラリであるBoost.Multiprecisionが入りました。 このライブラリは、整数と浮動小数点数をサポートしていますが、今回は整数の方を紹介します。 以下は、多倍長整数で階乗を求める例です。 #include <iostream> #include <boost/multiprecision/cpp_int.hpp> using namespace boost::multiprecision; int main() { // 128ビット整数 int128_t v = 1; // 20の階乗を求める for (unsigned i = 1; i <= 20; ++i) v *= i; std::cout << v << std::endl; // 任意精度整数 cpp_int u = 1; // 100の階乗を求める for (unsig