C Sharp BigInteger Kullanımı

Bu yazımda sizlere C# dilinde büyük sayılarla olan işlemleri yani BigInteger işlemlerini anlatacağım. Öncelikle Windows’un bizlere sunduğu hesap makinesi üzerinden büyük sayılarla olan işlemlerdeki durumu inceleyelim.
Calc.exe isimli uygulamamızı açalım. Görünüm kısmından Bilimsel i seçelim. Sonucu büyük bir sayı olan bir işlem yapalım. 3^100 işleminin sonucunun yeterince büyük geleceğini düşünüyorum.

Hesap makinesinin bilimsel hesaplama kısmının sonucu ; 5,1537752073201133103646112976562e+47 e+47 şeklinde veriyor. Bu sonuç kullanıcıyı E sayısının hesabına zorluyor ve tam sonucu vermiyor.
Şimdi C# dilinde sıkça kullanılan Math sınıfı üzerinde durumu inceleyelim. Matematiksel işlemler birçok kişi tarafından C# dilinde Math sınıfı üzerinden gerçekleştirilir. Üslü sayı işlemi gerçekleştirileceğinden dolayı Math.Pow kullanılacaktır. Math.Pow kullanımı Math.Pow(taban,üs) şeklindedir.

Yukarıda kodları belirtilen işlemde 2^6 matematiksel işlemi Math.Pow yardımıyla hesaplanacaktır.

Programımız işlemi başarıyla gerçekleştirdi. Şimdi 3^100 işlemini Math.Pow yapısı ile gerçekleştirmeye çalışalım.

Yukarıda yazılan kodların çıktısı;

Sonuç olarak yine Windows hesap makinesinin verdiği sonucu verdi. Şimdi .Net Framework 4.0 ile gelen BigInteger yapısını kullanarak büyük sayılar üzerinde işlemler gerçekleştirmeye çalışalım. BigInteger kullanabilmek için References kısmından System.Numerics projenize ekleyin. Ardından using System.Numerics;şeklinde projemizde kullanıma hazır hale getirelim.
3^100 işleminin sonucunu hesaplayacaktık. BigInteger ile üslü sayılarda işlemler gerçekleştirilirken Math.Pow() yapısının benzeri bir şekildeBigInteger.Pow(taban,üs) şeklinde gerçekleştirilir.

Yukarıda yazılan kodların çıktısı;

Gördüğünüz gibi tam sonucu verdi. Bu işlemin doğruluğunu http://www.calculatorsoup.com/ sitesi üzerinden kontrol edelim.

İşlem sonucunu doğru olarak hesaplamış. Şimdi BigInteger kullanılarak diğer matematiksel işlemlerin nasıl gerçekleştirildiğini inceleyelim.

Toplama İşlemi

KOD

ÇIKTI

Çıkarma İşlemi

KOD

ÇIKTI

KOD

ÇIKTI

Çarpma İşlemi

KOD

ÇIKTI

KOD

ÇIKTI

KOD

ÇIKTI

Bölme İşlemi

KOD

ÇIKTI

KOD

ÇIKTI

Üs Alma İşlemi

KOD

ÇIKTI

DOĞRULUK KONTROLÜ

KOD

ÇIKTI

DOĞRULUK KONTROLÜ

Logaritma Alma İşlemi

LOGARİTMA KULLANIMI

KOD

ÇIKTI

KOD

ÇIKTI

10 Tabanında Log Alma

KOD

ÇIKTI

KOD

ÇIKTI

C# ta BigInteger ile büyük sayılarla işlemler genel olarak bu şekilde yapılmaktadır.

Bir önceki yazımız olan C# ile Kütüphane Otomasyonu Yapımı - 3 başlıklı makalemizde C# Dersleri, C# ile Kütüphane Otomasyonu Yapımı ve Kütüphane Otomasyonu hakkında bilgiler verilmektedir.

About This Author

Post A Reply