.NET Core - 數值型別



.NET Core 支援標準的數值整型和浮點型基元。它還支援以下型別:

  • System.Numerics.BigInteger,它是一個沒有上限或下限的整型。

  • System.Numerics.Complex,它是一個表示複數的型別。

  • System.Numerics 名稱空間中的一組支援單指令多資料 (SIMD) 的向量型別。

整型

.NET Core 支援不同範圍的有符號和無符號整數,長度從一個位元組到八個位元組不等。所有整數都是值型別。

下表顯示了整型及其大小:

型別 有符號/無符號 大小(位元組) 最小值 最大值
Byte 無符號 1 0 255
Int16 有符號 2 -32,768 32,767
Int32 有符號 4 -2,147,483,648 2,147,483,647
Int64 有符號 8 -9,223,372,036,854,775,808 9,223,372,036,854,775,807
SByte 有符號 1 -128 127
UInt16 無符號 2 0 65,535
UInt32 無符號 4 0 4,294,967,295
UInt64 無符號 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,543,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 的二維、三維和四維向量。

    • Vector <T> 結構,它允許您建立任何原始數值型別的向量。原始數值型別包括 System 名稱空間中的所有數值型別,但 Decimal 除外。

    • 兩種矩陣型別,System.Numerics.Matrix3×2,表示一個 3×2 矩陣;以及 System.Numerics.Matrix4×4,表示一個 4×4 矩陣。

    • System.Numerics.Plane 型別,表示一個三維平面,以及 System.Numerics.Quaternion 型別,表示一個用於編碼三維物理旋轉的向量。

廣告