Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
.NET, sayısal tamsayı ve kayan nokta temel öğelerinin yanı sıra şunlardan oluşan bir aralık sağlar:
- System.Half, yarım duyarlıklı kayan nokta sayısını temsil eder.
- System.Decimal, ondalık kayan noktalı sayıyı temsil eder.
- System.Numerics.BigInteger, teorik üst veya alt sınır içermeyen bir integral türüdür.
- System.Numerics.Complex, karmaşık sayıları temsil eder.
- Ad alanında System.Numerics SIMD özellikli türler kümesi.
Tamsayı türleri
.NET, aşağıdaki tablolarda listelenen hem imzalı hem de imzasız 8 bit, 16 bit, 32 bit, 64 bit ve 128 bit tamsayı türlerini destekler.
İmzalı tamsayı türleri
| Türü | Boyut (bayt cinsinden) | En düşük değer | En büyük değer |
|---|---|---|---|
| System.Int16 | 2 | -32,768 | 32.767 |
| System.Int32 | 4 | -2,147,483,648 | 2,147,483,647 |
| System.Int64 | 8 | -9,223,372,036,854,775,808 | 9,223,372,036,854,775,807 |
| System.Int128 | 16 | −170.141.183.460.469.231.731.687.303.715.884.105.728 | 170,141,183,460,469,231,731,687,303,715,884,105,727 |
| System.SByte | 1 | -128 | 127 |
| System.IntPtr (32-bitlik işlemde) | 4 | -2,147,483,648 | 2,147,483,647 |
| System.IntPtr (64 bit işlemde) | 8 | -9,223,372,036,854,775,808 | 9,223,372,036,854,775,807 |
İmzasız tamsayı türleri
| Türü | Boyut (bayt cinsinden) | En düşük değer | En büyük değer |
|---|---|---|---|
| System.Byte | 1 | 0 | İki yüz elli beş |
| System.UInt16 | 2 | 0 | 65,535 |
| System.UInt32 | 4 | 0 | 4,294,967,295 |
| System.UInt64 | 8 | 0 | 18,446,744,073,709,551,615 |
| System.UInt128 | 16 | 0 | 340,282,366,920,938,463,463,374,607,431,768,211,455 |
| System.UIntPtr (32-bitlik işlemde) | 4 | 0 | 4,294,967,295 |
| System.UIntPtr (64 bit işlemde) | 8 | 0 | 18,446,744,073,709,551,615 |
Her tamsayı türü standart aritmetik işleç kümesini destekler. sınıfı, System.Math daha geniş bir matematik işlevleri kümesi için yöntemler sağlar.
System.BitConverter sınıfını kullanarak bir tamsayı değerinin tek tek bitleriyle de çalışabilirsiniz.
Uyarı
İmzasız tamsayı türleri CLS uyumlu değildir. Daha fazla bilgi için bkz . Dil bağımsızlığı ve dilden bağımsız bileşenler.
BigInteger
Yapı System.Numerics.BigInteger , teorideki değerin üst veya alt sınırları olmayan rastgele büyük bir tamsayıyı temsil eden sabit bir türdür. Türün BigInteger yöntemleri, diğer integral türlerinin yöntemlerine yakından paraleldir.
Kayan nokta türleri
.NET aşağıdaki kayan nokta türlerini içerir:
| Türü | Boyut (bayt cinsinden) | Yaklaşık aralık | İlkel? | Notlar |
|---|---|---|---|---|
| System.Half | 2 | ±65504 | Hayı | .NET 5'te kullanıma sunulmuştur |
| System.Single | 4 | ±3.4 x 1038 | Evet | |
| System.Double | 8 | ±1.7 × 10308 | Evet | |
| System.Decimal | 16 | ±7.9228 x 1028 | Hayı |
Half, Single ve Double türleri, sayı olmayan (NaN) ve sonsuzluk gibi özel değerleri destekler. Örneğin, Double türü şu değerleri sağlar: Double.NaN, Double.NegativeInfinityve Double.PositiveInfinity. Bu özel değerleri test etmek için , Double.IsNaN, Double.IsInfinityve Double.IsPositiveInfinity yöntemlerini kullanırsınızDouble.IsNegativeInfinity.
Her kayan nokta türü bir dizi standart aritmetik işleci destekler. sınıfı, System.Math daha geniş bir matematik işlevleri kümesi için yöntemler sağlar. .NET Core 2.0 ve sonraki sürümler, System.MathF türünde bağımsız değişkenleri kabul eden yöntemler sağlayan Single sınıfını içerir.
Sınıfını kullanarak Double , Singleve Half değerlerindeki System.BitConvertertek tek bitlerle de çalışabilirsiniz. Yapı, ondalık bir değerin ayrı bitleriyle çalışmak için System.Decimal ve Decimal.GetBits adlı kendi yöntemlerine sahiptir ve ayrıca bazı ek matematiksel işlemleri gerçekleştirmek için Decimal(Int32[]) adlı başka yöntemler sunar.
Double, Singleve Half türleri, doğası gereği kesin olmayan değerler (örneğin, iki yıldız arasındaki mesafe) ve yüksek düzeyde duyarlık ve küçük yuvarlama hatası gerektirmeyen uygulamalar için kullanılmak üzere tasarlanmıştır. Daha yüksek hassasiyetin System.Decimal gerektiği ve yuvarlama hatalarının en aza indirilmesi gereken durumlar için bu türü kullanın.
Uyarı
Türü Decimal yuvarlama gereksinimini ortadan kaldırmaz. Bunun yerine yuvarlama nedeniyle hataları en aza indirir.
Karmaşık
Yapı System.Numerics.Complex karmaşık bir sayıyı, yani gerçek sayı bölümü ve hayali sayı bölümü olan bir sayıyı temsil eder. Standart bir aritmetik, karşılaştırma, eşitlik, açık ve örtük dönüştürme işleçlerinin yanı sıra matematiksel, cebirsel ve trigonometrik yöntemleri destekler.
SIMD özellikli türler
System.Numerics ad alanı bir dizi .NET SIMD destekli tür içerir. SIMD (Tek Yönerge Birden Çok Veri) işlemi donanım düzeyinde paralelleştirilebilir. Bu, matematiksel, bilimsel ve grafik uygulamalarında yaygın olarak kullanılan vektörleştirilmiş hesaplamaların aktarım hızını artırır.
.NET SIMD özellikli türler şunları içerir:
Vector2, Vector3 ve Vector4 türleri, 2, 3 ve 4 Single değerine sahip vektörleri temsil eder.
3x2 matrisi temsil eden ve Matrix3x24x4 matrisi temsil eden iki matris türüMatrix4x4.
Üç boyutlu uzayda bir düzlemi temsil eden Plane türü.
Türü Quaternion , üç boyutlu fiziksel döndürmeleri kodlamak için kullanılan bir vektör temsil eder.
Vector<T> Belirtilen sayısal türde bir vektöri temsil eden ve SIMD desteğinden yararlanan geniş bir işleç kümesi sağlayan tür. Bir Vector<T> örneğin sayısı sabittir, ancak değeri Vector<T>.Count kodun yürütüldiği makinenin CPU'sunun değerine bağlıdır.
Uyarı
Vector<T> türü .NET Core ve .NET 5+'un bir parçası olarak sağlanır, ancak .NET Framework'e dahil edilmemiştir. .NET Framework kullanıyorsanız, bu türe erişmek için System.Numerics.Vectors NuGet paketini yükleyin.
SIMD özellikli türler, SIMD etkin olmayan donanımlarla veya JIT derleyicileriyle kullanılabilecek şekilde uygulanır. SIMD yönergelerinden yararlanmak için, 64 bit uygulamalarınız .NET Core ve .NET Framework 4.6 ve sonraki sürümlerinde bulunan RyuJIT derleyicisini kullanan çalışma zamanı tarafından çalıştırılmalıdır. 64 bit işlemcileri hedeflerken SIMD desteği ekler.
Daha fazla bilgi için bkz. SIMD hızlandırılmış sayısal türleri kullanma.