Dotnet Core 简明教程
.NET Core - Numerics
-
System.Numerics.BigInteger 这是一个不带上下限的整数类型。
-
System.Numerics.Complex 这是一个表示复数的类型。
-
System.Numerics 命名空间中的单指令多数据 (SIMD) 启用向量类型的集合。
Integral types
下表表示整数类型及其大小;
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 类通过整数值中的单独位进行操作。
Floating-point types
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 |
-
每个浮点类型都支持一组标准算术、比较、相等、显式转换和隐式转换运算符。
-
你还可以通过使用 BitConverter 类来处理 Double 和 Single 值中的各个位。
-
Decimal 结构具有自己的方法 Decimal.GetBits 和 Decimal.Decimal(Int32()),用于处理十进制值的各个位,以及用于执行一些附加数学运算的自己的方法集。
BigInteger
-
System.Numerics.BigInteger 是一个不可变类型,它表示一个理论上没有上限或下限的任意大整数。
-
BigInteger 类型的这些方法与其他整体类型的非常相似。
Complex
-
System.Numerics.Complex 类型的复合数即,一个具有实数部分和虚数部分的数
-
它支持一组标准的算术、比较、相等、显式转换和隐式转换运算符,以及数学、代数和三角函数方法。
SIMD
-
Numerics 命名空间包括一组针对 .NET Core 的 SIMD 矢量类型。
-
SIMD 允许在硬件级别并行执行一些操作,从而显著提高针对矢量执行计算的数学、科学和图形应用程序的性能。
-
.NET Core 中的 SIMD 矢量类型包括以下内容:-System.Numerics.Vector2、System.Numerics.Vector3 和 System.Numerics.Vector4 类型,分别为 2、3 和 4 维度的 Single 类型矢量。Vector<T> 结构,允许你创建一个任何基本数字类型的矢量。基本数字类型包括 System 命名空间中的所有数字类型,十进制数除外。两种矩阵类型,System.Numerics.Matrix3X2,它表示一个 3×2 矩阵;System.Numerics.Matrix4X4,它表示一个 4×4 矩阵。System.Numerics.Plane 类型,它表示一个三维平面;System.Numerics.Quaternion 类型,它表示一个矢量,用于对三维物理旋转进行编码。