Вопрос

Как проще всего обрабатывать огромные числа в C?Мне нужно хранить значения в области 1000^900...

Кто-нибудь знает простой способ сделать это?Любая помощь будет очень признательна!

Это было полезно?

Решение

Использовать библиотека libgmp:

GMP — это бесплатная библиотека для арифметики произвольной точности, работающая с целыми числами со знаком, рациональными числами и числами с плавающей запятой.Не существует никаких практических ограничений точности, за исключением тех, которые подразумеваются доступной памятью в машине, на которой работает GMP...

Начиная с версии 6, GMP распространяется по двойным лицензиям. GNU LGPL v3 и GNU GPL v2...

Основными целевыми платформами GMP являются системы типа Unix, такие как GNU/Linux, Solaris, HP-UX, Mac OS X/Darwin, BSD, AIX и т. д.Также известно, что он работает в Windows как в 32-битном, так и в 64-битном режиме...

Другие советы

Есть несколько библиотек, которые помогут вам в этом (математика произвольной точности):

Если предположить, что это не связано с работой (т. е. вы делаете это ради развлечения, или это хобби, или просто возможность чему-то научиться), написание библиотеки для математических вычислений произвольной точности является относительно интересным проектом.Но если вам нужно полностью на это положиться и вас не интересуют подробности, просто воспользуйтесь библиотекой.

Существует множество библиотек для обработки огромных чисел.Вам нужна целочисленная арифметика или арифметика с плавающей запятой?

Вы можете посмотреть код, встроенный в Python для этой задачи.

Вы можете посмотреть расширения Perl для этой задачи.

Вы можете посмотреть код в OpenSSL для этой задачи.

Вы можете посмотреть библиотеку GNU MP (мультиточности), как упоминалось kmkaplan.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top