.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類使用DoubleSingle值中的各個位。
  • Decimal結構有自己的方法,Decimal.GetBitsDecimal.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.Vector2System.Numerics.Vector3System.Numerics.Vector4型別,它們是Single型別的2,34維向量。
    • Vector <T>結構可建立任何基本數位型別的向量。基本數位型別包括System名稱空間中除Decimal以外的所有數位型別。
    • 兩個矩陣型別,System.Numerics.Matrix3×2,表示3×2矩陣; 和表示4×4矩陣的System.Numerics.Matrix4×4
    • 表示三維平面的System.Numerics.Plane型別和表示用於對三維物理旋轉進行編碼的向量的System.Numerics.Quaternion型別。