Как использовать целое число с размером больше чем 64 бита в C++?

В C++ стандарт предоставляет два способа использования целых чисел с размером больше 64 бит:

  1. Библиотека Boost.Multiprecision: Эта библиотека предоставляет возможность работать с целыми числами произвольного размера. Для использования этой библиотеки необходимо установить Boost и включить необходимые заголовочные файлы. Пример использования:
#include <boost/multiprecision/cpp_int.hpp>
using namespace boost::multiprecision;

int main() {
    cpp_int a = 1234567890123456789012345678901234567890;
    std::cout << a << std::endl;
    return 0;
}
  1. Тип данных __int128_t (или __uint128_t для беззнаковых): В некоторых компиляторах, таких как GCC и Clang, поддерживается тип данных __int128_t, который представляет собой 128-битное целое число. Пример использования:
__int128_t a = 1234567890123456789012345678901234567890;
std::cout << a << std::endl;

Заметьте, что использование данных нестандартных типов не является переносимым между различными компиляторами, поэтому более предпочтительным решением будет использование Boost.Multiprecision для работы с целыми числами произвольного размера.