.NET Core – 数字

.NET Core – 数字


.NET Core 支持标准的数字整数和浮点基元。它还支持以下类型 –

  • System.Numerics.BigInteger 是一个没有上限或下限的整数类型。

  • System.Numerics.Complex 是一种表示复数的类型。

  • System.Numerics 命名空间中的一组启用单指令多数据 (SIMD) 的向量类型。

积分类型

.NET Core 支持长度从 1 个字节到 8 个字节的不同范围的有符号和无符号整数。所有整数都是值类型。

下表代表了积分类型及其大小;

Type 签名/未签名 大小(字节) 最小值 最大值
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 包括三种原始浮点类型,如下表所示。

Type 大小(字节) 最小值 最大值
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()),用于处理十进制值的各个位,以及它自己的一组方法来执行一些额外的数学运算。

大整数

  • System.Numerics.BigInteger 是一种不可变类型,表示任意大的整数,其值在理论上没有上限或下限。

  • BigInteger 类型的方法与其他整数类型的方法非常相似。

复杂的

  • System.Numerics.Complex 类型表示一个复数,即具有实数部分和虚数部分的数字

  • 它支持一组标准的算术、比较、相等、显式转换和隐式转换运算符,以及数学、代数和三角方法。

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的矩阵;和 System.Numerics.Matrix4×4,表示 4×4 矩阵。

    • System.Numerics.Plane 类型表示三维平面,System.Numerics.Quaternion 类型表示用于对三维物理旋转进行编码的向量。

觉得文章有用?

点个广告表达一下你的爱意吧 !😁