.NET Core支持标准数字积分和浮点基元.它还支持以下类型 :
System.Numerics.BigInteger是一个没有上限或下限的整数类型.
System.Numerics.Complex是一种表示复数的类型.
System.Numerics命名空间中一组启用单指令多数据(SIMD)的矢量类型.
.NET Core支持不同范围的有符号和无符号整数,长度从一个字节到八个字节.所有整数都是值类型.
下表表示整数类型及其大小;
Type | Signed/ Unsigned | Size (bytes) | Minimum Value | Maximum Value |
---|---|---|---|---|
Byte | Unsigned | 1 | 0 | 255 |
Int16 | Signed | 2 | −32,768 | 32,767 |
Int32 | Signed | 4 | −2,147,483,648 | 2,147,483,647 |
Int64 | Signed | 8 | −9,223,372,036,854,775,808 | 9,223,372,036,854,775,807 |
SByte | Signed | 1 | -128 | 127 |
UInt16 | Unsigned | 2 | 0 | 65,535 |
UInt32 | Unsigned | 4 | 0 | 4,294,967,295 |
UInt64 | Unsigned | 8 | 0 | 18,446,744,073,709,551,615 |
您还可以使用System.BitConverter类处理整数值中的各个位.每种积分类型都支持标准集算术,比较,相等,显式转换和隐式转换运算符.
.NET Core包括三种原始浮点类型,如下表所示.
Type | Size (bytes) | Minimum Value | Maximum Value |
---|---|---|---|
Double | 8 | −1.79769313486232e308 | 1.79769313486232e308 |
Single | 4 | −3.402823e38 | 3.402823e38 |
Decimal | 16 | −79,228,162,514,264,337,593,5 43,950,335 | 79,228,162,514,264,337,593,543,9 50,335 |
BigInteger每个浮点类型都支持一组标准的算术,比较,相等,exp合法转换和隐式转换运算符.
您还可以使用BitConverter类处理Double和Single值中的各个位.
Decimal结构有自己的方法,Decimal.GetBits和Decimal.Decimal(Int32()),用于处理十进制值的各个位,以及它自己的一组执行一些额外数学运算的方法.
System.Numerics.BigInteger是一个不可变类型,表示一个任意大的整数,其理论上的值没有上限或下限.
BigInteger类型的方法与其他整数类型的方法非常接近.
System.Numerics.Complex类型表示复数,即具有实数部分和虚数部分的数字
我t支持一组标准的算术,比较,相等,显式转换和隐式转换运算符,以及数学,代数和三角函数方法.
Numerics命名空间包含一组支持SIMD的.NET Core矢量类型.
SIMD允许在硬件级别并行化某些操作,从而在数学,科学和图形应用程序中实现巨大的性能提升,从而对向量执行计算.
.NET Core中启用SIMD的矢量类型包括以下 :
System.Numerics.Vector2,System.Numerics.Vector3和System.Numerics.Vector4类型,它们是Single类型的2,3和4维向量.
Vector< T>允许您创建任何基本数字类型的向量的结构.原始数字类型包括System命名空间中除Decimal之外的所有数字类型.
两种矩阵类型,System.Numerics.Matrix3× 2,表示3次; 2矩阵;和System.Numerics.Matrix4× 4,代表4× 4矩阵.
System.Numerics.Plane类型,代表一个三维平面,以及System.Numerics.Quaternion类型,它表示用于编码三维物理旋转的矢量.