.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
类使用double
和single
值中的各个位。decimal
结构有自己的方法,decimal.getbits
和decimal.decimal(int32())
,用于处理十进制值的各个位,以及它自己的一组方法来执行一些额外的数学运算。system.numerics.biginteger
是一个不可变的类型,它表示一个理论值没有上下限的任意大的整数。
biginteger
类型的方法与其他整型类型的方法非常类似。
system.numerics.complex
类型表示复数,即具有实数部分和虚数部分的数字numerics
命名空间包含一组用于.net core的启用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
矩阵; 和表示4×4
矩阵的system.numerics.matrix4×4
。system.numerics.plane
类型和表示用于对三维物理旋转进行编码的矢量的system.numerics.quaternion
类型。