В 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; }
2. **Тип данных __int128_t
(или __uint128_t
для беззнаковых)**: В некоторых компиляторах, таких как GCC и Clang, поддерживается тип данных __int128_t
, который представляет собой 128-битное целое число. Пример использования:
__int128_t a = 1234567890123456789012345678901234567890; std::cout << a << std::endl;
Заметьте, что использование данных нестандартных типов не является переносимым между различными компиляторами, поэтому более предпочтительным решением будет использование Boost.Multiprecision для работы с целыми числами произвольного размера.