web-dev-qa-db-ja.com

C#でbigintを使用するにはどうすればよいですか?

[〜#〜] rsa [〜#〜] キーアルゴリズムの実装に取り​​組んでいます。しかし、2048ビットの値は使用できませんでした。どうすれば使えますか?

大きな整数を使いたい。

10
Ersin Gülbahar

System.Numerics.BigIntegerを使用できます(System.Numerics Assemblyへの参照を追加します)。コメントで述べたように、これは正しいアプローチではないかもしれません。

27
BrokenGlass

大きな整数のネイティブサポートは、.NET4.0で導入されました。アセンブリ参照をSystem.Numericsに追加し、コードファイルの先頭にusing System.Numerics;宣言を追加するだけで、準備は完了です。求めているタイプは BigInteger です。

8
Douglas

ここではBigIntegerを使用しています。このメソッドは、nまでのフィボナッチ数列の数値を出力します。

public static void FibonacciSequence(int n)
{
    /** BigInteger easily holds the first 1000 numbers in the Fibonacci Sequence. **/
    List<BigInteger> fibonacci = new List<BigInteger>();
    fibonacci.Add(0);
    fibonacci.Add(1);
    BigInteger i = 2;
    while(i < n)
    {                
        int first = (int)i - 2;
        int second = (int) i - 1;

        BigInteger firstNumber =  fibonacci[first];
        BigInteger secondNumber = fibonacci[second];
        BigInteger sum = firstNumber + secondNumber;
        fibonacci.Add(sum);
        i++;
    }         

    foreach (BigInteger f in fibonacci) { Console.WriteLine(f); }
}
6

BigInteger .NET4.0以降で使用できます。 サードパーティの実装もいくつかあります (以前のバージョンのフレームワークを使用している場合)。

3
HackedByChinese

より良い使用法System.Numerics.BigInteger

1
Kishore Kumar