web-dev-qa-db-ja.com

CのBigInteger?

Cで膨大な数を処理する最も簡単な方法は何ですか?エリア1000 ^ 900に値を保存する必要があります...

誰かがそれを行う簡単な方法を知っていますか?どんな助けでも本当にありがたいです!

26
Chris

使用 libgmp

GMPは、任意精度の算術演算用の無料のライブラリであり、符号付き整数、有理数、および浮動小数点数を操作します。 GMPが実行されているマシンで使用可能なメモリによって示されるものを除いて、精度に実際的な制限はありません...

バージョン6以降、GMPはデュアルライセンスで配布されています GNU LGPL v および GNU GPL v2 .. ..

GMPの主なターゲットプラットフォームは、GNU/Linux、Solaris、HP-UX、Mac OS X/Darwin、BSD、AIXなどのUnixタイプのシステムです。また、32ビットと64の両方のWindowsで動作することも知られています。ビットモード...

33
kmkaplan

これを行うのに役立つライブラリがいくつかあります(任意精度の数学)。

これが仕事に関連していないと仮定すると(つまり、楽しみや趣味、または何かを学ぶ機会のためにやっている)、任意精度の数学のためにライブラリをコーディングすることは比較的興味深いプロジェクトです。しかし、絶対にそれに依存する必要があり、要点に興味がない場合は、ライブラリを使用してください。

11
cletus

膨大な数を処理するためのライブラリがたくさんあります。整数または浮動小数点演算が必要ですか?

タスクのPython)に組み込まれているコードを見ることができます。

このタスクのPerlの拡張機能を見ることができます。

タスクのOpenSSLのコードを見ることができます。

Kmkaplanで言及されているように、GNU MP(多精度)ライブラリ)を見ることができます。

5