代码改变世界

BigInteger和Complex:NET 4新增数据类型

  Eric.Hu  阅读(635)  评论(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();

}

 

结果:

 

编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
点击右上角即可分享
微信分享提示