JavaScriptte, sayıları iki tür şekilde temsil ediliyor: tam sayılar ve kesirli (ondalık) sayılar fakat JS'de bir sayıyı atamak/temsil etmek için sınırlı miktarda alan vardır ki bu büyük sayıların bazen düzgün çalışmamasına neden olabilir.
JS'de sayılar bir tür olan "Floating Point" şeklinde saklanır. Bu sayıları virgülden sonra belli bir kesilri kısma sahip olabilir. Büyük tam sayıları temsil ederken, floating point olan sayılar bazen tam sayı kısmını tam olarak tutamazlar.
Misal "9007199254740992" sayısına bakalım. Bu sayı JS'de 64 bitlik floating point olarak temsil edilir. Ancak 64 bit sistemi tamamını doğru şekilde tutacak kadar yer sağlamaz. Bundan dolayı sayının kesirli kısmında yuvarlama hataları oluşturma riski ortaya çıkar.
Bundan dolayı çok büyük tam sayılar Js'de umulmadık sonuçlara yol açabildiği için özellikle matematiksel hesaplamalarda çok büyük tam sayılarla çalışmamız gerekli ise[1][2] bu problemi çözecek özel kütüphanelerden yararlanmamız tavsiye edilmektedir.
Kaynaklar
- BobSfougaroudis, et al. Https://Stackoverflow.com/Questions/307179/What-Is-Javascripts-Highest-Integer-Value-That-A-Number-Can-Go-To-Without-Losin. Alındığı Tarih: 13 Ağustos 2023. Alındığı Yer: stackoverflow | Arşiv Bağlantısı
- Nathan. Https://Shareup.app/Blog/There-Is-A-Maximum-Safe-Integer-In-Javascript/. Alındığı Tarih: 13 Ağustos 2023. Alındığı Yer: shareup | Arşiv Bağlantısı