Yükleniyor...

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