BigInt - Büyük Sayı
BigInt
veri tipi bir tamsayının sonuna n
koyarak elde edilen değişkenlerin tipidir. Bu tip tamamen tamsayılardan oluşup genellikle number
tipinin alabileceği Number.MAX_SAFE_INTEGER
sayısı olan 'den pozitif olarak büyük, negatif olarak küçük tam sayıları ifade etmek için kullanılır.
let buyukSayi1 = 1n;
let buyukSayi2 = -1n;
alert(buyukSayi1); // 1 olarak çıktı verir.
alert(buyukSayi2); // -1 olarak çıktı verir.
alert(typeof buyukSayi1); //bigint olarak çıktı verir.
alert(typeof buyukSayi2); //bigint olarak çıktı verir.
BigInt
veri tipinde değişkenler number
tipinde değişkenlerle matematiksel işlemlere sokulamazlar. Sadece kendi aralarında işleme girerler. Bir number
tipindeki değişkeni bigInt
tipine çevirmek için BigInt()
fonksiyonu kullanılır.
let maxTamSayi = BigInt( Number.MAX_SAFE_INTEGER );
let minTamSayi = BigInt( Number.MIN_SAFE_INTEGER );
alert(maxTamSayi + minTamSayi); // 0 çıktısı alınır.
alert(typeof (maxTamSayi + minTamSayi) ); //bigint çıktısı alınır.
BigInt
veri tipiyle Math
kütüphanesini kullanamazsınız. Bu kütüphane sadece number
tipi içindir. BigInt
sadece kendi aralarında matematiksel işlemlere sokulur. Bu sebeple bir bigInt
veri tipini number
tipine çevirerek işleme sokmak mümkün ama güvenli değildir. Çünkü tam olarak istediğiniz sayıya dönüşeceğinden emin olamazsınız.
let bigN = BigInt( Number.MAX_SAFE_INTEGER );
bigN = bigN * bigN * bigN; //kendisini küpüne eşitledik.
alert(bigN); // 730750818665451215712927172538123444058715062271
alert( Number(bigN) ); //7.307508186654512e+47
BigInt
veri tipi tamsayı olduğu için bölümlerde ondalıklı sonuç bekleyemezsiniz.
alert( 5n / 2n ); //Sonuç 2n olarak çıkar ve 2 olarak çıktı verir.
Bu tip kriptolama işlemlerinde kullanılmazlar. Çünkü güvenli değildirler ve işlemcide eş zamanlı oluşturulmazlar.
Last updated