.NET Core 数字类型
.NET Core 支持标准的数字的整型和浮点型。它还支持以下类型:
System.Numerics.BigInteger
- 一个没有上限或下限的整数类型。System.Numerics.Complex
- 表示复数的类型。System.Numerics
命名空间中的一组支持单指令多数据(SIMD)的矢量类型。
整数类型
.NET Core 支持长度从 1 个字节到 8 个字节不等的有符号整数和无符号整数。所有整数都是 值类型。
下表显示整数类型及其大小:
类型 | 有/无符号 | 大小 (字节) | 最小值 | 最大值 |
---|---|---|---|---|
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 包括三种基本浮点类型,如下表所示:
类型 | 大小 (位) | 最小值 | 最大值 |
---|---|---|---|
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
类型,分别是 Single 类型的 2 , 3 和 4 维矢量。Vector<T>
结构可创建任何基本数字类型的向量。基本数字类型包括System
名称空间中除 Decimal 以外的所有数字类型。两个矩阵类型,
System.Numerics.Matrix3×2
,表示 3×2 矩阵; 和表示 4×4 矩阵的System.Numerics.Matrix4×4
。表示三维平面的
System.Numerics.Plane
类型和表示用于对三维物理旋转进行编码的矢量的System.Numerics.Quaternion
类型。