Как я могу использовать bigint с C#?

Я работаю над реализацией RSA ключевой алгоритм. Но я не мог использовать 2048-битное значение. Как я могу его использовать?

Я хочу использовать большое число.

5 ответов


можно использовать System.Numerics.BigInteger (добавить ссылку на System.Сборка числовые значения). Как упоминалось в комментариях, это может быть неправильным подходом.


встроенная поддержка больших целых чисел была введена в .NET 4.0. Просто добавьте ссылку на сборку в System.Numerics добавьте using System.Numerics; заявление в верхней части файла кода, и вы хорошо идти. Типа вы после BigInteger.


вот с помощью 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); }
}

BigInteger доступны .Net 4.0 или позже. есть некоторые сторонние реализации, а также (В случае, если вы используете более раннюю версию платформы).


лучше использовать System.Numerics.BigInteger.