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

上一篇: .NET Core入門程式 下一篇: .NET Core垃圾收集