.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類型。
-