.NET Core数字

发布时间:2024年01月24日

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

  • System.Numerics.BigInteger是一个整数类型,没有上限或下限。
  • System.Numerics.Complex是一种表示复数的类型。
  • System.Numerics命名空间中的一组支持单指令多数据(SIMD)的矢量类型。

整体类型

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

下表列出了整体类型及其大小;

类型有/无符号大小(位)最小值最大值
ByteUnsigned10255
Int16Signed2?32,76832,767
Int32Signed4?2,147,483,6482,147,483,647
Int64Signed8?9,223,372,036,854,775,8089,223,372,036,854,775,807
SByteSigned1-128127
UInt16Unsigned2065,535
UInt32Unsigned404,294,967,295
UInt64Unsigned8018,446,744,073,709,551,615

每个整型支持一组标准的算术,比较,等式,显式转换和隐式转换运算符。

也可以使用System.BitConverter类来处理整数值中的各个位。

浮点类型

.NET Core包含三种基本浮点类型,如下表所示。

类型大小(位)最小值最大值
Double8?1.79769313486232e3081.79769313486232e308
Single4?3.402823e383.402823e38
Decimal16?79,228,162,514,264,337,593,5 43,950,33579,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类型。

文章来源:https://blog.csdn.net/unbelievevc/article/details/135739543
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。