BigInteger和Complex:NET 4新增数据类型
2014-09-15 11:29 Eric.Hu 阅读(630) 评论(0) 编辑 收藏 举报BigInteger和Complex是.NET 4中新增的两种值类型,他们位于System.Numeric命名空间下,需要单独添加引用。
BigInteger
BigInteger类型是不可变类型,代表了一个任意大的整数,其值理论上已经没有上限和下限。此类型不同于.NET Framework其他整型,后者已经通过MinValue和MaxValue属性指示了一个范围。因为它没有上限和下限,对于导致BigInteger值增长过大的任何操作都会引发内存溢出异常—OutOfMemoryException。
static void Main(string[] args) { System.Numerics.BigInteger googol= System.Numerics.BigInteger.Pow(10,100); Console.WriteLine(googol); Console.ReadKey(); } |
结果:
Complex
Complex表示一个复数,我们知道,复数有实数部分和虚数部分组成,在实例化和操作复数时,Complex类型使用笛卡尔坐标系统(实数,虚数)。一个复数可以表示为一个二维坐标系中的某个点,复数的实数 部分位于x轴,虚数部分位于y轴。
static void Main(string[] args) { var z1 = new System.Numerics.Complex(1, 2); var z2 = new System.Numerics.Complex(3, 3);
var r1 = System.Numerics.Complex.Add(z1, z2); var r2 = System.Numerics.Complex.Subtract(z1, z2); var r3 = System.Numerics.Complex.Multiply(z1, z2); var r4 = System.Numerics.Complex.Divide(z1, z2);
Console.WriteLine("z1+z2:" + r1); Console.WriteLine("z1-z2:" + r2); Console.WriteLine("z1xz2:" + r3); Console.WriteLine("z1/z2:" + r4);
Console.ReadKey(); } |
结果: