.NET Core - numeryczne
NET Core obsługuje standardowe liczbowe integralne i zmiennoprzecinkowe prymitywy. Obsługuje również następujące typy -
- System.Numerics.BigInteger, który jest typem całkowitym bez górnej ani dolnej granicy. 
- System.Numerics.Complex to typ reprezentujący liczby zespolone. 
- Zestaw typów wektorów z włączoną funkcją Single Instruction Multiple Data (SIMD) w przestrzeni nazw System.Numerics. 
Typy całkowe
NET Core obsługuje zarówno liczby całkowite ze znakiem, jak i bez znaku o różnych zakresach długości od jednego bajtu do ośmiu bajtów. Wszystkie liczby całkowite są typami wartości.
Poniższa tabela przedstawia typy całkowite i ich rozmiar;
| Rodzaj | Podpisano / niepodpisano | Rozmiar (bajty) | Minimalna wartość | Maksymalna wartość | 
|---|---|---|---|---|
| Bajt | Bez podpisu | 1 | 0 | 255 | 
| Int16 | Podpisano | 2 | -32,768 | 32,767 | 
| Int32 | Podpisano | 4 | -2,147,483,648 | 2,147,483,647 | 
| Int64 | Podpisano | 8 | -9,223,372,036,854,775,808 | 9.223.372.036.854.775.807 | 
| SByte | Podpisano | 1 | -128 | 127 | 
| UInt16 | Bez podpisu | 2 | 0 | 65,535 | 
| UInt32 | Bez podpisu | 4 | 0 | 4.294.967.295 | 
| UInt64 | Bez podpisu | 8 | 0 | 18,446,744,073,709,551,615 | 
Każdy typ całkowity obsługuje standardowy zestaw operatorów arytmetycznych, porównania, równości, konwersji jawnej i niejawnej konwersji.
Możesz również pracować z pojedynczymi bitami w wartości całkowitej, używając klasy System.BitConverter.
Typy zmiennoprzecinkowe
NET Core zawiera trzy pierwotne typy zmiennoprzecinkowe, które są pokazane w poniższej tabeli.
| Rodzaj | Rozmiar (bajty) | Minimalna wartość | Maksymalna wartość | 
|---|---|---|---|
| Podwójnie | 8 | −1,79769313486232e308 | 1.79769313486232e308 | 
| Pojedynczy | 4 | −3.402823e38 | 3.402823e38 | 
| Dziesiętny | 16 | −79.228.162.514.264.337.593,5 43.950.335 | 79,228,162,514,264,337,593,543,9 50,335 | 
- Każdy typ zmiennoprzecinkowy obsługuje standardowy zestaw operatorów arytmetycznych, porównania, równości, konwersji jawnej i niejawnej konwersji. 
- Możesz również pracować z pojedynczymi bitami w wartościach Double i Single, używając klasy BitConverter. 
- Struktura Decimal ma swoje własne metody, Decimal.GetBits i Decimal.Decimal (Int32 ()), służące do pracy z poszczególnymi bitami wartości dziesiętnej, a także własny zestaw metod do wykonywania niektórych dodatkowych operacji matematycznych. 
BigInteger
- System.Numerics.BigInteger jest niezmiennym typem, który reprezentuje dowolnie dużą liczbę całkowitą, której wartość w teorii nie ma górnej ani dolnej granicy. 
- Metody typu BigInteger są ściśle równoległe do metod innych typów całkowitych. 
Złożony
- Typ System.Numerics.Complex reprezentuje liczbę zespoloną, tj. Liczbę zawierającą część liczby rzeczywistej i część urojoną 
- Obsługuje standardowy zestaw operatorów arytmetycznych, porównawczych, równości, konwersji jawnej i niejawnej konwersji, a także metody matematyczne, algebraiczne i trygonometryczne. 
SIMD
- Przestrzeń nazw Numerics zawiera zestaw typów wektorów obsługujących SIMD dla platformy .NET Core. 
- SIMD umożliwia zrównoleglenie niektórych operacji na poziomie sprzętowym, co skutkuje ogromną poprawą wydajności w aplikacjach matematycznych, naukowych i graficznych, które wykonują obliczenia na wektorach. 
- Typy wektorowe z obsługą SIMD w .NET Core obejmują następujące - - Typy System.Numerics.Vector2, System.Numerics.Vector3 i System.Numerics.Vector4, które są dwu-, trzy- i czterowymiarowymi wektorami typu Single. 
- Struktura Vector <T>, która umożliwia tworzenie wektorów dowolnego pierwotnego typu liczbowego. Pierwotne typy liczbowe obejmują wszystkie typy liczbowe w przestrzeni nazw System, z wyjątkiem Decimal. 
- Dwa typy macierzy, System.Numerics.Matrix3 × 2, co reprezentuje macierz 3 × 2; i System.Numerics.Matrix4 × 4, co reprezentuje macierz 4 × 4. 
- Typ System.Numerics.Plane, który reprezentuje trójwymiarową płaszczyznę, oraz typ System.Numerics.Quaternion, który reprezentuje wektor używany do kodowania trójwymiarowych obrotów fizycznych.