DevCPP の仕組みはわかりませんが、Matt のライブラリからファイルをコピーして、コード ( ?) ファイル.c
と同じフォルダーに配置する必要があります。.cpp
次に、すべてのコードをコンパイルするのと同じ方法で、それらのファイルをコンパイルする必要があります。それはその問題を解決するはずです。これを行う方法はコンパイラ固有ですが、ここで DevCPP の手順を見つけました: http://www.uniqueness-template.com/devcpp/ どうやら「プロジェクト」を作成してから、自分のコードと彼のコードの両方を追加する必要があります。それに。これは、複数のソース ファイルを使用してプログラムを作成する方法であり、事実上すべてのプログラムを作成するための絶対に不可欠な知識です。
あなたのデモ テスト コードには間違った答えがあり、そのコードは
BigInteger num = 123456789*123456789*123456789;
これは、整数があり、整数123456789
を掛けて(オーバーフローします)、次に123456789
整数を掛けて123456789
(再びオーバーフローします)、その結果を に変換するためです。明らかに、それは正しくありません。コードはおそらく次のようになります。BigInteger
BigInteger first = 123456789; //yes, you can convert from int to BigInteger
BigInteger second = 123456789;
BigInteger third = 123456789;
BigInteger num = first *second *third;
int64_t
からに変換したいので、念頭に置いて設計されていないためBigInteger
、小さなフープをジャンプする必要があります。というわけで変換関数です。BigInteger
int64_t
BigInteger int64_to_BigInt(int64_t v)
{ return BigInteger(int(v/INT_MAX))*INT_MAX+int(v%INT_MAX);}
int64_t BigInt_to_int64(BigInteger v)
{
BigInteger bottom;
v.divideWithRemainder(INT_MAX, bottom);
return int64_t(v.toInt())*INT_MAX + bottom.toUnsignedInt();
}