Core基础 专题
您的位置:csharp > Core基础 专题 > .NET Core数字
.NET Core数字
作者:--    发布时间:2019-11-20

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

网站声明:
本站部分内容来自网络,如您发现本站内容
侵害到您的利益,请联系本站管理员处理。
联系站长
373515719@qq.com
关于本站:
编程参考手册