C# Math Sınıfı ve Bilimsel Hesaplamalar
C# meraklılarına yeniden merhabalar :)
Uzun süredir makale yazamadım ve bugün birkaç makale yazmaya niyetlenmişken bunlardan birisi de C# makalesi olsun istedim :)
Özellikle programlama konusunda bazı noktalarda matematiksel işlemlerde elle yazmak bazen zorlayıcı ve performans kaybına neden olmaktadır,hele ki bilimsel hesaplamalarda matematiksel formülleri bilgisayar matematiğine çevirmek ise gereksiz zaman kaybı yaratmaktadır.
Hal böyle olunca Microsoft bunu önceden tahmin mi etti yoksa istek üzerine mi oluşturdu bilemiyorum ama Math sınıfı ve bu sınıfa ait metotlar oldukça yardımcı oluyor biz yazılımcılara..
Math sınıfından tahmin edebileceğiniz gibi ingilizcedeki matematik kelimesine karşılık gelmektedir ve bu sınıf altında sadece matematiksel işlevleri gerçekleştiren metotlar yer almaktadır.Şimdi bu metotları sırasıyla görmek için yeni bir Windows Form projesi oluşturalım ve herhangi bir form tasarımı yapmadan doğrudan elle değerleri yazacağımız Form_Load eventine geçelim.
1-Abs Metodu
Abs metodu,kendisine sayısal tiplerden verilen bir değerin tamsayı değerini verir.Örnek olarak decimal
değişken tipinde bir sayının tam sayı değerini alalım:
2-Acos Metodu
Bu metot, sayısal bir double türündeki değerin akosünüs (sanırım öyle bişeydi) değerini yine
double olarak geri döndürür:
3-Asin Metodu
Parametre alarak double değişken türündeki bir değerin asinüs karşılığını double olarak geri döndürür:
4-Atan Metodu
Double olarak aldığı bir değerin atanjant değerini double olarak geri döndürür:
5-Atan2 Metodu
İki farklı double değerin cotanjant değerini geri döndürür:
6-BigMul Metodu
Bu metot kendisine ait iki farklı int tipteki sayısal değerin çarpımlarını long tipinde geri döndürür.Long tipinde geri dönüşün sebebi, değerlerin çarpımdan sonra ortaya çıkacak sonucun int tipinden çok daha büyük bir bellek alanı gerektirebileceğinden dolayıdır.
7-Ceiling Metodu
Kendisine verilen ondalıklı bir değerin double tipinde üst tam sayısını geri döndürür.Yani bir nevi üst sayıya yuvarlama metodudur diyebiliriz:
8-Cos Metodu
Parametre olarak aldığı double türündeki bir değerin yine double tipinde cosinüs değerini geri döndürür:
9-Cosh Metodu
Kendisine verilen double bir değerin hiperbolik değerini tekrar double olarak geri döndürür.Hiperbolik konusunda benim gibi yeterince bilgi sahibi değilseniz
Wikipedia-Hiperbolik linkinden konuyu inceleyebilirsiniz.
10-Floor Metodu
Ceiling metodunun aksine kendisine verilen ondalıklı bir sayıyı yine ondalık tipinde alt sayıya yuvarlar:
11-Log Metodu
Bu metodun iki farklı overload'ı (aşırı yükleme-kullanım şekli) vardır.Birinci overloadda parametre olarak verilen bir değerin logaritmik e tabanındaki karşılığını double cinsinde geri döndürür.İkinci overloadda ise bir sayının başka bir tabandaki değerini geri döndürür.Bu overloadda ilk parametre sayı,ikinci parametre ise sayının dönüştürülecek yeni tabanını temsil eder:
12-Log10 Metodu
Log metoduna benzer bir yapıdadır ve kendisine verilen herhangi bir tabandaki sayıyı 10 tabanına dönüştürerek double değişken tipinde geri döndürür.
13-Max Metodu
Max metodu kendisine verilen aynı tipteki 2 farklı sayının en büyük olanını geri döndürür.Parametre olarak hangisinin büyük ya da küçük yazıldığının önemi yoktur ve bütün sayısal değişken tiplerde kullanma esnekliğine sahiptir.
14-Min Metodu
Max metodunun tersine kendisine verilen sayılardan en küçüğünü geri döndürür ve max metodunun diğer özelliklerine sahiptir.
15-Round Metodu
8 farklı overloadı olan bu metotun ilk overloadında tek bir sayı verildiğinde Abs metodu gibi davranır ve tam sayı olarak double tipte bir değer döndürür.
İkinci overloadda ise ondalıklı kısımdan itibaren kaç basamak kadar değerin dönüştürüleceği değer seçilir.Örneğin 4,545456 sayısının virgül dahil sonraki ilk 2 basamağıyla birlikte geri dönüş sağlayalım:
16-Sign Metodu
Bu metot kendisine verilen bir değerin işaretinin eksi mi yoksa artı mı olduğunu geri döndürür.Geri dönüş şekli olarak -1 ile negatif, +1 ile pozitif bir değer olduğunu ifade eder:
17-Sin Metodu
Kendisine parametre olarak verilen sıfırdan küçük ondalıklı bir sayının sinüs değerini geri döndürür.
18-Sqrt Metodu
Square olarak açılımı olan bu metot bir sayının karesini almamızı sağlar.
19-Tan Metodu
Parametre olarak verilen sayısal değerin tanjant değerini geri döndürür.
Bunlarla birlikte birkaç matematik sınıfı metotları daha var ancak pek kullanılmadıkları için çokta önemli görmüyorum,zira buradakilerin çoğunu kullanmadım desem yalan olmaz.
Math sınıfı ile bilmemiz gereken metotlar ve kullanım şekilleri burada sona eriyor,bir sonraki makalemizde görüşmek üzere hoşçakalın :)
Uzun süredir makale yazamadım ve bugün birkaç makale yazmaya niyetlenmişken bunlardan birisi de C# makalesi olsun istedim :)
Özellikle programlama konusunda bazı noktalarda matematiksel işlemlerde elle yazmak bazen zorlayıcı ve performans kaybına neden olmaktadır,hele ki bilimsel hesaplamalarda matematiksel formülleri bilgisayar matematiğine çevirmek ise gereksiz zaman kaybı yaratmaktadır.
Hal böyle olunca Microsoft bunu önceden tahmin mi etti yoksa istek üzerine mi oluşturdu bilemiyorum ama Math sınıfı ve bu sınıfa ait metotlar oldukça yardımcı oluyor biz yazılımcılara..
Math sınıfından tahmin edebileceğiniz gibi ingilizcedeki matematik kelimesine karşılık gelmektedir ve bu sınıf altında sadece matematiksel işlevleri gerçekleştiren metotlar yer almaktadır.Şimdi bu metotları sırasıyla görmek için yeni bir Windows Form projesi oluşturalım ve herhangi bir form tasarımı yapmadan doğrudan elle değerleri yazacağımız Form_Load eventine geçelim.
1-Abs Metodu
Abs metodu,kendisine sayısal tiplerden verilen bir değerin tamsayı değerini verir.Örnek olarak decimal
değişken tipinde bir sayının tam sayı değerini alalım:
2-Acos Metodu
Bu metot, sayısal bir double türündeki değerin akosünüs (sanırım öyle bişeydi) değerini yine
double olarak geri döndürür:
3-Asin Metodu
Parametre alarak double değişken türündeki bir değerin asinüs karşılığını double olarak geri döndürür:
4-Atan Metodu
Double olarak aldığı bir değerin atanjant değerini double olarak geri döndürür:
5-Atan2 Metodu
İki farklı double değerin cotanjant değerini geri döndürür:
6-BigMul Metodu
Bu metot kendisine ait iki farklı int tipteki sayısal değerin çarpımlarını long tipinde geri döndürür.Long tipinde geri dönüşün sebebi, değerlerin çarpımdan sonra ortaya çıkacak sonucun int tipinden çok daha büyük bir bellek alanı gerektirebileceğinden dolayıdır.
7-Ceiling Metodu
Kendisine verilen ondalıklı bir değerin double tipinde üst tam sayısını geri döndürür.Yani bir nevi üst sayıya yuvarlama metodudur diyebiliriz:
8-Cos Metodu
Parametre olarak aldığı double türündeki bir değerin yine double tipinde cosinüs değerini geri döndürür:
9-Cosh Metodu
Kendisine verilen double bir değerin hiperbolik değerini tekrar double olarak geri döndürür.Hiperbolik konusunda benim gibi yeterince bilgi sahibi değilseniz
Wikipedia-Hiperbolik linkinden konuyu inceleyebilirsiniz.
10-Floor Metodu
Ceiling metodunun aksine kendisine verilen ondalıklı bir sayıyı yine ondalık tipinde alt sayıya yuvarlar:
11-Log Metodu
Bu metodun iki farklı overload'ı (aşırı yükleme-kullanım şekli) vardır.Birinci overloadda parametre olarak verilen bir değerin logaritmik e tabanındaki karşılığını double cinsinde geri döndürür.İkinci overloadda ise bir sayının başka bir tabandaki değerini geri döndürür.Bu overloadda ilk parametre sayı,ikinci parametre ise sayının dönüştürülecek yeni tabanını temsil eder:
12-Log10 Metodu
Log metoduna benzer bir yapıdadır ve kendisine verilen herhangi bir tabandaki sayıyı 10 tabanına dönüştürerek double değişken tipinde geri döndürür.
13-Max Metodu
Max metodu kendisine verilen aynı tipteki 2 farklı sayının en büyük olanını geri döndürür.Parametre olarak hangisinin büyük ya da küçük yazıldığının önemi yoktur ve bütün sayısal değişken tiplerde kullanma esnekliğine sahiptir.
14-Min Metodu
Max metodunun tersine kendisine verilen sayılardan en küçüğünü geri döndürür ve max metodunun diğer özelliklerine sahiptir.
15-Round Metodu
8 farklı overloadı olan bu metotun ilk overloadında tek bir sayı verildiğinde Abs metodu gibi davranır ve tam sayı olarak double tipte bir değer döndürür.
İkinci overloadda ise ondalıklı kısımdan itibaren kaç basamak kadar değerin dönüştürüleceği değer seçilir.Örneğin 4,545456 sayısının virgül dahil sonraki ilk 2 basamağıyla birlikte geri dönüş sağlayalım:
16-Sign Metodu
Bu metot kendisine verilen bir değerin işaretinin eksi mi yoksa artı mı olduğunu geri döndürür.Geri dönüş şekli olarak -1 ile negatif, +1 ile pozitif bir değer olduğunu ifade eder:
17-Sin Metodu
Kendisine parametre olarak verilen sıfırdan küçük ondalıklı bir sayının sinüs değerini geri döndürür.
18-Sqrt Metodu
Square olarak açılımı olan bu metot bir sayının karesini almamızı sağlar.
19-Tan Metodu
Parametre olarak verilen sayısal değerin tanjant değerini geri döndürür.
Bunlarla birlikte birkaç matematik sınıfı metotları daha var ancak pek kullanılmadıkları için çokta önemli görmüyorum,zira buradakilerin çoğunu kullanmadım desem yalan olmaz.
Math sınıfı ile bilmemiz gereken metotlar ve kullanım şekilleri burada sona eriyor,bir sonraki makalemizde görüşmek üzere hoşçakalın :)