JavaScript, genellikle sayılarla çalışırken, bazen çok büyük veya çok küçük sayıları doğru bir şekilde temsil etmekte zorlanabilir. Ancak, ECMAScript 2020 ile birlikte gelen BigInt tipi, bu tür durumlar için bir çözüm sunar. BigInt, JavaScript’te çok büyük tamsayıları temsil etmek için kullanılan bir veri türüdür. Bu makalede, JavaScript’te BigInt’in nasıl kullanılacağını ve neden önemli olduğunu öğreneceğiz.
BigInt Nedir?
BigInt, JavaScript’te temsil edilebilecek en büyük tamsayıları sağlar. Bu, 2^53-1’den (Number.MAX_SAFE_INTEGER) daha büyük veya -2^53+1’den (Number.MIN_SAFE_INTEGER) daha küçük sayıları ifade etmek için kullanılır. BigInt, bir sayının sonuna “n” ekleyerek veya “BigInt()” fonksiyonunu kullanarak oluşturulabilir.
const büyükSayı = 1234567890123456789012345678901234567890n;
const başkaBüyükSayı = BigInt("9876543210987654321098765432109876543210");
BigInt ile Matematik İşlemleri
BigInt tipiyle, standart aritmetik işlemlerini gerçekleştirebilirsiniz. Toplama, çıkarma, çarpma ve bölme işlemleri BigInt türünde de geçerlidir.
const sayı1 = 1234567890123456789012345678901234567890n;
const sayı2 = 9876543210987654321098765432109876543210n;
const toplam = sayı1 + sayı2;
const fark = sayı1 - sayı2;
const çarpım = sayı1 * sayı2;
const bölüm = sayı2 / sayı1;
console.log(toplam); // Çıktı: 11111111111111111110111111111111111111100n
console.log(fark); // Çıktı: -864197531086419753208642975310864197530n
console.log(çarpım); // Çıktı: 12193263111263526934868788623952883390147903256800234567890123456790123456790n
console.log(bölüm); // Çıktı: 8n
BigInt ile Standart Sayılar Arasında Dönüşüm
BigInt ve standart sayılar arasında dönüşüm yapmak mümkündür. BigInt bir sayıyı, standart bir sayıya dönüştürmek için Number()
fonksiyonunu kullanabiliriz. Ancak, bu dönüşüm sırasında kesirli kısımlar kaybedilir.
const büyükSayı = 1234567890123456789012345678901234567890n;
const standartSayı = Number(büyükSayı);
console.log(standartSayı); // Çıktı: 1.2345678901234568e+39
BigInt ile Modüler Aritmetik
BigInt tipi, modüler aritmetik işlemlerinde de kullanılabilir. Özellikle kriptografi ve matematikte sıkça kullanılan bu özellik, büyük sayılarla çalışırken büyük öneme sahiptir.
const büyükSayı = 1234567890123456789012345678901234567890n;
const mod = 9876543210987654321098765432109876543210n;
const sonuç = büyükSayı % mod;
console.log(sonuç); // Çıktı: 2469135781357903782469135781357900000000n
BigInt ile Bit Operatörleri
BigInt ile kullanılan bazı operatörler, standart sayılarda olduğu gibi kullanılamaz. Ancak, Bitwise (Bit) operatörleri BigInt ile kullanılabilir.
const büyükSayı = 1234567890123456789012345678901234567890n;
const maske = 0b1111n;
const sonuç = büyükSayı & maske;
console.log(sonuç); // Çıktı: 10n
Sonuç
BigInt, JavaScript’te çok büyük tamsayıları temsil etmek ve işlem yapmak için kullanışlı bir araçtır. Büyük sayılarla çalışırken kesin sonuçlar elde etmek isteyenler için önemli bir çözümdür. Ancak, performans açısından, standart sayılarla çalışırken dikkatli olmak önemlidir.