C# Math Kütüphanesi
C# Math kütüphanesini öğrenin. Pow, Sqrt, Round, Abs ve diğer matematiksel metotların kullanımını örneklerle keşfedin.
C# Math Library, System.Math sınıfı tarafından sağlanan
ve C# uygulamalarında matematiksel hesaplamalar yapmak için kullanılan
birçok yerleşik metot ve sabit içerir. Math sınıfı statik olarak
tanımlandığı için metotlar doğrudan nesne oluşturmadan kullanılabilir.
Bu makalede, C# System.Math sınıfının en sık kullanılan metotlarını
açık ve pratik örneklerle inceleyeceğiz.
Mutlak Değer (Abs)
Math.Abs metodu bir sayının mutlak değerini döndürür
ve negatif işareti kaldırır. İşaretinden bağımsız olarak bir değerin
büyüklüğünün önemli olduğu durumlarda sıkça kullanılır.
int a = -15;
Console.WriteLine(Math.Abs(a)); // 15
Minimum ve Maksimum (Min, Max)
Math.Min ve Math.Max metotları iki sayısal değeri
karşılaştırarak daha küçük veya daha büyük olanı döndürür.
Bu metotlar doğrulama ve sınır kontrolü işlemlerinde oldukça kullanışlıdır.
int x = 8, y = 20;
Console.WriteLine(Math.Min(x, y)); // 8
Console.WriteLine(Math.Max(x, y)); // 20
Karekök (Sqrt)
Math.Sqrt metodu verilen bir sayının karekökünü hesaplar.
double türünde bir değer döndürür ve genellikle geometri
ve bilimsel hesaplamalarda kullanılır.
double number = 81;
Console.WriteLine(Math.Sqrt(number)); // 9
Üs Alma (Pow)
Math.Pow metodu bir sayıyı başka bir sayının üssü olacak şekilde hesaplar.
Genellikle üstel hesaplamalarda kullanılır ve double türünde bir değer döndürür.
Console.WriteLine(Math.Pow(2, 3)); // 8
Yuvarlama (Round, Ceiling, Floor)
C#, Math sınıfı üzerinden birden fazla yuvarlama metodu sunar.
Math.Round en yakın değere yuvarlar,
Math.Ceiling her zaman yukarı yuvarlar
ve Math.Floor her zaman aşağı yuvarlar.
double d = 4.7;
Console.WriteLine(Math.Round(d)); // 5 (en yakına yuvarlar)
Console.WriteLine(Math.Ceiling(d)); // 5 (her zaman yukarı)
Console.WriteLine(Math.Floor(d)); // 4 (her zaman aşağı)
Ondalık Kısmı Atma (Truncate)
Math.Truncate metodu bir sayının ondalık kısmını
yuvarlama yapmadan kaldırır ve yalnızca tam kısmını bırakır.
double d = 4.9;
Console.WriteLine(Math.Truncate(d)); // 4
Kalanlı Bölme (DivRem)
Math.DivRem metodu tam sayı bölme işlemi yaparak
hem bölümü hem de kalanı tek bir çağrıda döndürür.
Performansın önemli olduğu hesaplamalarda faydalıdır.
int quotient, remainder;
remainder = Math.DivRem(17, 5, out quotient);
Console.WriteLine("Bölüm: " + quotient); // 3
Console.WriteLine("Kalan: " + remainder); // 2
Trigonometrik Fonksiyonlar (Sin, Cos, Tan)
Math.Sin, Math.Cos ve Math.Tan metotları
radyan cinsinden trigonometrik hesaplamalar yapar.
Geometri, grafik ve fizik hesaplamalarında sıkça kullanılır.
double angle = Math.PI / 4; // 45 derece (radyan)
Console.WriteLine(Math.Sin(angle)); // 0.707...
Console.WriteLine(Math.Cos(angle)); // 0.707...
Console.WriteLine(Math.Tan(angle)); // 1
Açı Dönüşümü (Radyan/Derece, PI Sabiti)
C#’ta trigonometrik metotlar radyan cinsinden çalışır.
Math.PI sabiti kullanılarak derece değerleri
kolayca radyana dönüştürülebilir.
double degree = 180;
double radian = degree * (Math.PI / 180);
Console.WriteLine(radian); // 3.14159...
Logaritma (Log, Log10)
Math.Log metodu e tabanında doğal logaritmayı,
Math.Log10 ise 10 tabanında logaritmayı hesaplar.
Bu fonksiyonlar bilimsel ve finansal uygulamalarda yaygın olarak kullanılır.
Console.WriteLine(Math.Log(100)); // doğal logaritma (e tabanı)
Console.WriteLine(Math.Log10(100)); // 10 tabanında logaritma
Double Türü Maksimum ve Minimum Değerler
double.MaxValue ve double.MinValue sabitleri,
bir double değişkeninin alabileceği en büyük ve en küçük değerleri temsil eder.
Karşılaştırmalar ve başlangıç değerleri için kullanışlıdır.
Console.WriteLine(double.MaxValue);
Console.WriteLine(double.MinValue);
Karekök ve Üs Alma Kombinasyonu
Math metotları bir arada kullanılarak daha karmaşık hesaplamalar yapılabilir. Bu örnekte bir sayı önce üssü alınarak hesaplanır, ardından karekökü alınır.
double number = 256;
double result = Math.Sqrt(Math.Pow(number, 2));
Console.WriteLine(result); // 256 (önce karesi, sonra karekökü)
Mutlak Değer ile Kullanım
Math.Abs metodu, fark hesaplamaları gibi
negatif sonuçların oluşabileceği durumlarda sıkça kullanılır.
Bu metot sayesinde sonuç her zaman pozitif bir değer olur,
bu da karşılaştırma ve mesafe hesaplamalarında fayda sağlar.
int diff = -50;
Console.WriteLine(Math.Abs(diff)); // 50
İşaret Belirleme (Sign)
Math.Sign metodu bir sayının negatif, sıfır veya pozitif olmasına göre
-1, 0 veya 1 değerlerinden birini döndürür.
Yalnızca sayının yönünü bilmenin yeterli olduğu durumlarda kullanışlıdır.
Console.WriteLine(Math.Sign(-10)); // -1
Console.WriteLine(Math.Sign(0)); // 0
Console.WriteLine(Math.Sign(25)); // 1
Değer Sınırlandırma (Clamp)
Math.Clamp metodu bir değeri belirlenen bir aralıkta sınırlar.
Değer minimumun altındaysa minimum,
maksimumun üzerindeyse maksimum değer döndürülür.
int value = 120;
int result = Math.Clamp(value, 0, 100);
Console.WriteLine(result); // 100
Üstel Fonksiyon (Exp)
Math.Exp metodu e sayısının belirtilen üs değerini hesaplar.
Genellikle bilimsel, matematiksel ve istatistiksel hesaplamalarda kullanılır.
Console.WriteLine(Math.Exp(1)); // e ≈ 2.71828
TL;DR
Math.Abs: Bir sayının mutlak değerini döndürür.Math.Sign: Bir sayının negatif, sıfır veya pozitif olduğunu belirtir.Math.Min,Math.Max: İki sayı arasında karşılaştırma yapar.Math.Clamp: Bir değeri belirlenen aralıkta sınırlar.Math.Sqrt,Math.Pow: Karekök ve üs alma işlemlerini yapar.Math.Round,Math.Ceiling,Math.Floor,Math.Truncate: Yuvarlama ve ondalık kesme işlemleri.Math.Sin,Math.Cos,Math.Tan: Trigonometrik fonksiyonlar (radyan ile çalışır).Math.Log,Math.Log10,Math.Exp: Logaritmik ve üstel fonksiyonlar.Math.PI: Pi sayısını temsil eden sabit.
İlişkili Makaleler
C# Operatörleri ve İfadeler
C#’ta operatörler ve ifadeler: aritmetik, karşılaştırma, mantıksal, artırma/azaltma, ternary ve null-coalescing kullanımı.
C# Random İşlemleri
C#’ta Random sınıfını kullanarak rastgele sayı, değer ve seçim üretmeyi öğrenin. Next, NextDouble ve örneklerle anlatım.
C# String İşlemleri
C#’ta string işlemlerini öğrenin: birleştirme, arama, substring, IndexOf ve diğer temel string metotlarını örneklerle keşfedin.