long または Int64 よりも長いプログラム番号を保持する必要があります。long を使用すると、0 が返されるためです。
3 に答える
.Net 4.0 でBigIntegerを使用できます
BigInteger 型は、理論的には値に上限または下限がない任意の大きな整数を表す不変の型です。BigInteger 型のメンバーは、他の整数型 (Byte、Int16、Int32、Int64、SByte、UInt16、UInt32、および UInt64 型) のメンバーとよく似ています。この型は、MinValue および MaxValue プロパティによって示される範囲を持つ、.NET Framework の他の整数型とは異なります。
.Net 4 に移行する余裕がない場合は、IntXという名前のオープン ソース プロジェクトを使用できます。
IntX は、純粋な C# 2.0 で記述された任意精度の整数ライブラリで、約 O(N * log N) の高速な乗算/除算アルゴリズムが実装されています。整数のすべての基本的な算術演算、比較、ビットごとのシフトなどを提供します。また、異なる基数で数値を解析し、任意の基数で文字列に変換することもできます。このライブラリの利点は、高速な乗算、除算、および基数から基数への変換アルゴリズムです。アルゴリズムのすべての高速バージョンは、O(N * log N * log log に対して実行される Fast Hartley Transform を使用した大きな整数の高速乗算に基づいています。従来の O(N^2) の代わりに N) 時間。