.NET Core - числа
.NET Core поддерживает стандартные числовые целочисленные примитивы и примитивы с плавающей запятой. Он также поддерживает следующие типы -
System.Numerics.BigInteger, который является целым типом без верхней или нижней границы.
System.Numerics.Complex - это тип, представляющий комплексные числа.
Набор векторных типов с поддержкой Single Instruction Multiple Data (SIMD) в пространстве имен System.Numerics.
Интегральные типы
.NET Core поддерживает целые числа со знаком и без знака в различных диапазонах от одного до восьми байтов. Все целые числа являются типами значений.
В следующей таблице представлены целые типы и их размер;
Тип | Подпись / Без подписи | Размер (байты) | Минимальное значение | Максимальное значение |
---|---|---|---|---|
Байт | Неподписанный | 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 включает три примитивных типа с плавающей запятой, которые показаны в следующей таблице.
Тип | Размер (байты) | Минимальное значение | Максимальное значение |
---|---|---|---|
Двойной | 8 | -1,79769313486232e308 | 1,79769313486232e308 |
Один | 4 | -3,402823e38 | 3,402823e38 |
Десятичный | 16 | -79,228,162,514,264,337,593,5 43,950,335 | 79,228,162,514,264,337,593,543,9 50,335 |
Каждый тип с плавающей запятой поддерживает стандартный набор операторов арифметики, сравнения, равенства, явного и неявного преобразования.
Вы также можете работать с отдельными битами в значениях Double и Single, используя класс BitConverter.
Структура Decimal имеет собственные методы Decimal.GetBits и Decimal.Decimal (Int32 ()) для работы с отдельными битами десятичного значения, а также собственный набор методов для выполнения некоторых дополнительных математических операций.
BigInteger
System.Numerics.BigInteger - неизменяемый тип, представляющий произвольно большое целое число, значение которого теоретически не имеет верхней или нижней границы.
Методы типа BigInteger очень похожи на методы других целочисленных типов.
Сложный
Тип System.Numerics.Complex представляет комплексное число, т. Е. Число, состоящее из действительной и мнимой числовой частей.
Он поддерживает стандартный набор операторов арифметики, сравнения, равенства, явного и неявного преобразования, а также математические, алгебраические и тригонометрические методы.
SIMD
Пространство имен Numerics включает набор векторных типов с поддержкой SIMD для .NET Core.
SIMD позволяет распараллеливать некоторые операции на аппаратном уровне, что приводит к огромному повышению производительности математических, научных и графических приложений, выполняющих вычисления над векторами.
Векторные типы с поддержкой SIMD в .NET Core включают следующее:
Типы System.Numerics.Vector2, System.Numerics.Vector3 и System.Numerics.Vector4, которые являются 2-, 3- и 4-мерными векторами типа Single.
Структура Vector <T>, позволяющая создавать вектор любого примитивного числового типа. К примитивным числовым типам относятся все числовые типы в пространстве имен System, кроме Decimal.
Два типа матриц: System.Numerics.Matrix3 × 2, которые представляют матрицу 3 × 2; и System.Numerics.Matrix4 × 4, который представляет матрицу 4 × 4.
Тип System.Numerics.Plane, представляющий трехмерную плоскость, и тип System.Numerics.Quaternion, представляющий вектор, который используется для кодирования трехмерных физических вращений.