JavaScript BigInt Nedir? Büyük Sayılarla Çalışmanın Yeni Yolu
JavaScript’te büyük sayılarla işlem yapmak her zaman kolay olmamıştır. Standart sayısal veri türü olan Number
, güvenilir bir doğrulukla 2^53-1 ile -2^53+1 arasındaki sayılarla çalışır. Bu sınırı aşan sayılar için doğruluğun korunması zordur ve yuvarlanmalar yaşanabilir. BigInt ise JavaScript’in büyük sayılarla, yani 2^53-1 sınırını aşan sayılarla güvenli bir şekilde işlem yapmamızı sağlayan yeni bir veri türüdür.
BigInt Nasıl Kullanılır?
BigInt kullanmak oldukça basittir. Bir sayıyı BigInt olarak tanımlamak için sayının sonuna n
harfi eklenir ya da BigInt()
fonksiyonu kullanılır. İşte örnek bir kullanım:
// BigInt tanımlama yolları
const bigNumber1 = 123456789012345678901234567890n;
const bigNumber2 = BigInt("123456789012345678901234567890");
// Çarpma işlemi
const result = bigNumber1 * bigNumber2;
console.log(result);
Yukarıdaki örnekte, büyük sayıların Number
veri türüyle işlem yapılırken oluşabilecek doğruluk sorunları, BigInt ile ortadan kalkar.
BigInt Özellikleri ve Avantajları
- Büyük Sayılarla Doğru Sonuçlar: Büyük sayı işlemlerinde doğruluğu korur ve güvenli sonuçlar üretir.
- Tam Sayı Hassasiyeti: Kesirli sayı işlemlerine izin vermez, bu nedenle parasal hesaplamalar gibi tam sayı gerektiren işlemler için idealdir.
- Yüksek Performans: Büyük sayıları işlemede
Number
veri türünden daha iyi bir performans sunar.
BigInt ile İşlem Yaparken Dikkat Edilmesi Gerekenler
- Number ile Doğrudan İşlem Yapılamaz:
BigInt
veNumber
veri türleri doğrudan birlikte işleme alınamaz. İki tür arasında işlem yapmak içinNumber
veyaBigInt
tür dönüşümü gerekir.
const bigIntNum = 100n;
const regularNum = 50;
// Bu işlem hata verir
// const result = bigIntNum + regularNum;
// Çözüm
const result = bigIntNum + BigInt(regularNum);
console.log(result); // 150n
- Kesirli Sayılar Desteklenmez:
BigInt
yalnızca tam sayılarla çalışır. Kesirli veya ondalıklı sayı içerdiğinde hata verir. - Math Metodlarıyla Uyumsuzdur: JavaScript’in
Math
kütüphanesindeki fonksiyonlarBigInt
ile çalışmaz.Math.sqrt()
gibi işlemler için dönüşüm yapılması gerekir.
BigInt Kullanım Senaryoları
- Kriptografi: Kriptografik işlemlerde büyük sayılar kullanılır ve doğruluğun korunması önemlidir.
- Finansal Hesaplamalar: Finansal işlemler genellikle tam sayılarla çalışır ve büyük rakamlarla yapılan işlemler BigInt ile güvenli hale gelir.
- Bilimsel Hesaplamalar: Özellikle astronomi, genetik ve fizik gibi alanlarda büyük sayılarla yapılan işlemler için BigInt idealdir.
Share this content:
Yorum gönder