3

重複の可能性:
Cの「BigInt」?

ちょっと、そこ!unsigned intを使用してCで46までのフィボナッチ数を計算していますが、F(47)が長いため、計算できません。それで、Cで2 ^ 32より大きい数を取得する方法はありますか?
注意:私は32ビットプロセッサを使用しています。

4

5 に答える 5

11

(unsigned)long longですが、制限もあります(2 ^ 64に)。それだけでは不十分な場合は、 BigIntライブラリを探す必要があります。

于 2010-08-08T13:51:45.253 に答える
2
#include <stdint.h>

uint64_t my64bit;
于 2010-08-08T13:59:19.267 に答える
1

64ビットの符号なし整数を使用してみるか(Cの実装でサポートを確認してください)、 GMPなどのBigNumパッケージを使用することもできます。

過去に、私はさまざまな目的でBigNumライブラリを自分で作成しましたが、GMPは私のわずかな努力を水から吹き飛ばします。

于 2010-08-08T14:02:33.830 に答える
1

ここでbigintsを操作するためのこの質問に対するユーザーR..の回答が大好きです。もちろん、非常に大きな数にスケーリングしたい場合は、独自のadd関数を実装する必要があります。手順を非常に明確に説明しています。

于 2010-08-08T14:21:48.833 に答える
0

大きな数値を保持できる独自のデータ型を実装するか、このようなライブラリを使用する必要があります。

于 2010-08-08T13:53:47.187 に答える