как хранить 1000000 цифр в C ++ - PullRequest
3 голосов
/ 17 февраля 2011

в моей задаче я должен сохранить большие большие числа, например, до 1000000 цифр, и выполнить некоторые операции. Как я могу это сделать. Я знаю, что длинный int в C ++ может хранить до 10 цифр

1 Ответ

8 голосов
/ 17 февраля 2011

Вы можете использовать GMP , библиотеку произвольной точности GNU.Просто знайте, что это не очень хорошая библиотека, если у вас не хватает памяти.

Под этим я подразумеваю, что она просто выйдет из-под вас, если не сможет выделить память.Я нахожу это ... интересным ... архитектурным решением для библиотеки общего назначения, но оно популярно для такого рода вещей, поэтому, если вы готовы надеть это ограничение, это, вероятно, хороший выбор.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...