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

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();

}

?

结果:

?

?

时间: 2024-10-13 23:01:02

BigInteger和Complex:NET 4新增数据类型的相关文章

es6 新增数据类型Symbol

es6在string number boolean null undefined object之外又新增了一种Symbol类型. Symbol意思是符号,有一个特性—每次创建一个Symbol值都是不一样的. // var a=new Symbol(); //注意不是用new创建 var a=Symbol(); var b=Symbol(); console.log(a===b); //false 用处:赋值对象的属性被修改. 具体:把Symbol作为key,下游的人就没法覆盖key了. //fi

Verilog-2001新增特性

l generate语句 Verilog-2001添加了generate循环,允许产生 module和primitive的多个实例化,同时也可以产生多个variable,net,task,function,continous assignment,initial和always.在generate语句中可以引入if-else和case语句,根据条件不同产生不同的实例化. 为此,Verilog-2001还增加了以下关键字:generate,endgenerate,genvar,localparam.

python3基础二——基本的数据类型二

一.数字(Number) 1.Python支持三种不同的数值类型:整型(int),浮点型(float),复数(complex) 2.Python数字数据类型用于存储数值 3.数据类型是不允许改变的,这就意味着如果改变数字数据类型的值,将重新分配内存空间 4.可以通过使用del语句删除数字对象.单个或多个对象的引用 5.数学常量:pi(圆周率).e(自然常数) 6.Python数字类型转换int() .float(). complex() 7.浮点数也就是小数,浮点数没有大小限制,但是超出一定范围

JavaScript语法规则+JavaScript数据类型

JavaScript: ECMAScript + BOM +DOM javascript 标识符命名规则: 1.只能是字母.数字.下划线.$ 2.不能以数字开头 3.不能使用关键字和保留字 省略var 声明的变量是全局变量,但是不推荐这种方法 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</

重新认识 .net &amp; .net core开发

最近想系统性的学习下.net core ,在这之前我想再重新的认识下.net ,以及跟.net core 的区别. 有些我们开发.net经常用到的词汇可能还不是很了解,或者不能清晰的出他们的关系与却别,所以重新汇总了一下: .net : NET 是 Microsoft 的用以创建 XML Web 服务(下一代软件)平台,该平台将信息.设备和人以一种统一的.个性化的方式联系起来.借助于 .NET 平台,可以创建和使用基于 XML 的应用程序.进程和 Web 站点以及服务,它们之间可以按设计.在任何

C89和C99区别--简单总结

(1)对数组的增强 可变长数组 C99中,程序员声明数组时,数组的维数可以由任一有效的整型表达式确定,包括只在运行时才能确定其值的表达式,这类数组就叫做可变长数组,但是只有局部数组才可以是变长的.可变长数组的维数在数组生存期内是不变的,也就是说,可变长数组不是动态的.可以变化的只是数组的大小.可以使用*来定义不确定长的可变长数组. 数组声明中的类型修饰符 在C99中,如果需要使用数组作为函数变元,可以在数组声明的方括号内使用static关键字,这相当于告诉编译程序,变元所指向的数组将至少包含指定

C99规范

1. 增加restrict指针 C99中增加了公适用于指针的restrict类型修饰符,它是初始访问指针所指对象的惟一途径,因此只有借助restrict指针表达式才能访问对象.restrict指针指针主要用做函数变元,或者指向由malloc()函数所分配的内存变量.restrict数据类型不改变程序的语义. 如果某个函数定义了两个restrict指针变元,编译程序就假定它们指向两个不同的对象,memcpy()函数就是restrict指针的一个典型应用示例. C89中memcpy()函数原型如下:

[转].NET Framework、C#、CLR和Visual Studo之间的版本关系

原文地址:http://www.xcode.me/more/microsoft-net-framework-version-define C#版本 .NET Framework版本 CLR版本 VisualStudio版本 C#1.0 .NET Framework 1.0 CLR1.0 Visual Studio 2002 C#1.2 .NET Framework 1.1 CLR1.1 Visual Studio 2003 C#2.0 .NET Framework 2.0 CLR2.0 Visu

深入理解C#第三版部分内容

 最近,粗略的读了<深入理解C#(第三版)>这本技术书,书中介绍了C#不同版本之间的不同以及新的功能. 现在将部分摘录的内容贴在下面,以备查阅. C#语言特性: 1.C#2.0 C#2的主要特性是泛型.可空类型.匿名方法及其他有关委托的增强和迭代模块.此外还包含一些小特性:分部类型.静态类.包含不同访问修饰符的属性的取值方法和赋值方法.命名空间别称.pragma指令以及固定大小的缓冲器. 2.C#3.0 C#3为LINQ而生,尽管很多特性在其他地方也很有用.自动属性.数组和局部变量的隐式类型.