Учебники

.NET Core — Числовые

.NET Core поддерживает стандартные числовые интегральные и примитивы с плавающей точкой. Он также поддерживает следующие типы —

  • System.Numerics.BigInteger, который является целочисленным типом без верхней или нижней границы.

  • System.Numerics.Complex — это тип, представляющий комплексные числа.

  • Набор векторных типов с поддержкой нескольких инструкций (SIMD) в пространстве имен System.Numerics.

System.Numerics.BigInteger, который является целочисленным типом без верхней или нижней границы.

System.Numerics.Complex — это тип, представляющий комплексные числа.

Набор векторных типов с поддержкой нескольких инструкций (SIMD) в пространстве имен System.Numerics.

Интегральные типы

.NET Core поддерживает как целые числа со знаком, так и без знака разных диапазонов длиной от одного байта до восьми. Все целые числа являются типами значений.

В следующей таблице представлены целочисленные типы и их размеры;

Тип Подпись / Без подписи Размер (в байтах) Минимальное значение Максимальное значение
Байт неподписанный 1 0 255
Int16 подписанный 2 -32768 32767
Int32 подписанный 4 -2147483648 2147483647
Int64 подписанный 8 -9.223.372.036.854.775.808 9.223.372.036.854.775.807
SByte подписанный 1 -128 127
UInt16 неподписанный 2 0 65535
UInt32 неподписанный 4 0 4294967295
UInt64 неподписанный 8 0 18.446.744.073.709.551.615

Каждый интегральный тип поддерживает стандартный набор операторов арифметики, сравнения, равенства, явного преобразования и неявного преобразования.

Вы также можете работать с отдельными битами в целочисленном значении с помощью класса System.BitConverter.

Типы с плавающей точкой

.NET Core включает три примитивных типа с плавающей точкой, которые показаны в следующей таблице.

Каждый тип с плавающей точкой поддерживает стандартный набор операторов арифметики, сравнения, равенства, явного преобразования и неявного преобразования.

Вы также можете работать с отдельными битами в значениях Double и Single с помощью класса BitConverter.

Структура Decimal имеет свои собственные методы, Decimal.GetBits и Decimal.Decimal (Int32 ()), для работы с отдельными битами десятичного значения, а также свой собственный набор методов для выполнения некоторых дополнительных математических операций.

System.Numerics.BigInteger — неизменный тип, представляющий произвольно большое целое число, значение которого в теории не имеет верхних или нижних границ.

Методы типа BigInteger тесно параллельны методам других целочисленных типов.

Тип System.Numerics.Complex представляет собой комплексное число, то есть число с частью действительного числа и частью мнимого числа

Он поддерживает стандартный набор операторов арифметики, сравнения, равенства, явного преобразования и неявного преобразования, а также математических, алгебраических и тригонометрических методов.

Пространство имен 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, представляющий вектор, который используется для кодирования трехмерных физических вращений.