.NETCore-数値

.NET Coreは、標準の数値積分および浮動小数点プリミティブをサポートしています。次のタイプもサポートします-

  • System.Numerics.BigIntegerは、上限または下限のない整数型です。

  • System.Numerics.Complexは、複素数を表す型です。

  • System.Numerics名前空間内の単一命令複数データ(SIMD)対応のベクタータイプのセット。

整数型

.NET Coreは、長さが1バイトから8バイトまでのさまざまな範囲の符号付き整数と符号なし整数の両方をサポートします。すべての整数は値型です。

次の表は、整数型とそのサイズを表しています。

タイプ 署名済み/署名なし サイズ(バイト) 最小値 最大値
バイト 署名なし 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には、次の表に示す3つのプリミティブ浮動小数点型が含まれています。

タイプ サイズ(バイト) 最小値 最大値
ダブル 8 −1.79769313486232e308 1.79769313486232e308
シングル 4 −3.402823e38 3.402823e38
10進数 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構造には、10進値の個々のビットを操作するための独自のメソッドDecimal.GetBitsおよびDecimal.Decimal(Int32())と、いくつかの追加の数学演算を実行するための独自のメソッドセットがあります。

BigInteger

  • System.Numerics.BigIntegerは不変の型であり、理論的には値に上限や下限がない任意の大きさの整数を表します。

  • BigIntegerタイプのメソッドは、他の整数タイプのメソッドとほぼ同じです。

繁雑

  • System.Numerics.Complexタイプは、複素数、つまり実数部分と虚数部分を持つ数を表します。

  • 算術、比較、等式、明示的変換、暗黙的変換演算子の標準セットに加えて、数学、代数、三角法をサポートしています。

SIMD

  • Numerics名前空間には、.NETCore用のSIMD対応のベクタータイプのセットが含まれています。

  • SIMDを使用すると、一部の操作をハードウェアレベルで並列化できます。これにより、ベクトルに対して計算を実行する数学、科学、およびグラフィックスアプリのパフォーマンスが大幅に向上します。

  • .NET CoreのSIMD対応のベクタータイプには、次のものがあります。

    • System.Numerics.Vector2、System.Numerics.Vector3、およびSystem.Numerics.Vector4タイプ。これらは、シングルタイプの2、3、および4次元ベクトルです。

    • 任意のプリミティブ数値型のベクトルを作成できるようにするVector <T>構造。プリミティブ数値タイプには、Decimalを除くSystem名前空間のすべての数値タイプが含まれます。

    • 2つのマトリックスタイプ、System.Numerics.Matrix3×2。これは3×2マトリックスを表します。System.Numerics.Matrix4×4は、4×4の行列を表します。

    • 3次元平面を表すSystem.Numerics.Planeタイプと、3次元の物理的回転をエンコードするために使用されるベクトルを表すSystem.Numerics.Quaternionタイプ。