Вы можете использовать GMP , библиотеку произвольной точности GNU.Просто знайте, что это не очень хорошая библиотека, если у вас не хватает памяти.
Под этим я подразумеваю, что она просто выйдет из-под вас, если не сможет выделить память.Я нахожу это ... интересным ... архитектурным решением для библиотеки общего назначения, но оно популярно для такого рода вещей, поэтому, если вы готовы надеть это ограничение, это, вероятно, хороший выбор.
Еще один хороший пример - MPIR , форк GMP, который, несмотря на название "Multiple Precision Integer and Rationals", довольно хорошо обрабатывает числа с плавающей запятой.Я обнаружил, что эти парни гораздо более полезны, чем разработчики GMP, когда запрашивают помощь или предлагают улучшения (но, имейте в виду, что это мой опыт, ваш пробег может отличаться).