如何在C#中使用bigint?

时间:2012-05-16 18:52:22

标签: c# biginteger

我努力实现RSA密钥算法。但我无法使用2048位的值。我怎么用呢?

我想使用大整数。

5 个答案:

答案 0 :(得分:26)

您可以使用System.Numerics.BigInteger(添加对System.Numerics程序集的引用)。正如评论中所提到的,这可能不是正确的方法。

答案 1 :(得分:8)

.NET 4.0中引入了对大整数的本机支持。只需向System.Numerics添加一个程序集引用,在代码文件的顶部添加一个using System.Numerics;声明,就可以了。您所追求的类型是BigInteger

答案 2 :(得分:6)

这是使用BigInteger。此方法将Fibonacci序列中的数字打印到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); }
}

答案 3 :(得分:3)

BigInteger在.NET 4.0或更高版本中可用。 There are some third-party implementations as well(如果您使用的是早期版本的框架)。

答案 4 :(得分:1)

更好地使用System.Numerics.BigInteger