.NET Core數字
.NET Core支持標準的數字整數和浮點基元類型。 它還支持以下類型 -
-
System.Numerics.BigInteger
是一個整數類型,沒有上限或下限。 -
System.Numerics.Complex
是一種表示複數的類型。 -
System.Numerics
命名空間中的一組支持單指令多數據(SIMD)的矢量類型。
整體類型
.NET Core支持從一個字節到八個字節的不同範圍的有符號和無符號整數。所有整數都是值類型。
下表列出了整體類型及其大小;
類型
有/無符號
大小(位)
最小值
最大值
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())
,用於處理十進制值的各個位,以及它自己的一組方法來執行一些額外的數學運算。
1. BigInteger
System.Numerics.BigInteger
是一個不可變的類型,它表示一個理論值沒有上下限的任意大的整數。BigInteger
類型的方法與其他整型類型的方法非常類似。
2. Complex
-
System.Numerics.Complex
類型表示複數,即具有實數部分和虛數部分的數字 - 它支持一組標準的算術,比較,等式,顯式轉換和隱式轉換運算符,以及數學,代數和三角函數方法。
3. 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
類型。
-