В последнее время программировать приходится имея дело с большими числами, так, что не хватает размеров типа. Как подключить бибилиотеку BigInteger в С++? Это по идее должно решить проблему. Или может есть какой-то аналог? Нужно решить задачу, где на вход подаются числа не превышающие 10^100 . Как вообще найти выход из положения?
boost-library
boost::multiprecision::cpp_int (BigInteger)
boost::multiprecision::cpp_float - большие числа с плавающей запятой
Классика жанра это GMP. Но есть и другие варианты.
Как-то мне тоже понадобилась длинная арифметика. Но использовать GMP было нельзя, так как длинная арифметика нужна была для микроконтроллеров без операционной системы и кучи. Пришлось написать свою библиотеку С++ шаблонов для работы с длинными целыми числами. Вот ссылка:
https://sourceforge.net/projects/muntl/?source=frontpage&position=5
Там в архиве есть и описание на русском языке.
UPD1:
А память под переменные и промежуточные результаты выделялась по месту инициализации шаблона в виде массивов с вычисленным во время компиляции размером?
Да, все массивы хранятся статически в объектах класса и размер переменных определяется пользователем на этапе компиляции. То есть внутри этой библиотеки шаблонов обращений к куче нет. Соответственно, нет затрат времени на размещение объектов в куче.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости