Big, unlimited integers in C#

gpeipman
951 views

Open Source Your Knowledge, Become a Contributor

Technology knowledge has to be shared and made accessible for free. Join the movement.

Create Content

BigInteger in C#

There are situations when calculations in application are done on integers bigger than what int and its relatives can carry out. For these situations there is class BigInteger in System.Numerics namespace. BigInteger has many operations available through defined operators and static methods. Check the references section for more information about it.

The following example shows how to use big integers and perform some operations on them.

Click Run to run the demo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
using System;
using System.Numerics;
namespace BigIntegerCore
{
public class Program
{
public static void Main(string[] args)
{
var bigInteger1 = BigInteger.Parse("9930203828488338200022210011110239939391203");
var bigInteger2 = BigInteger.Parse("-130203828488338200022210011110239939391203");
Console.WriteLine("Add: " + (bigInteger1 + 1));
Console.WriteLine("Add: " + (bigInteger1 + bigInteger2));
Console.WriteLine("Multiply: " + (bigInteger1 * bigInteger2));
Console.WriteLine("Divide: " + (bigInteger1 / bigInteger2));
Console.WriteLine("Square: " + BigInteger.Pow(bigInteger2, 2));
Console.WriteLine("Greatest common divisor: " + BigInteger.GreatestCommonDivisor(bigInteger1, bigInteger2));
}
}
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

System.Numerics has also some other non-regular types available as Complex, few vectors and matrices.

References

Open Source Your Knowledge: become a Contributor and help others learn. Create New Content