.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.