Keşfedin, Öğrenin ve Paylaşın
Evrim Ağacı'nda Aradığın Her Şeye Ulaşabilirsin!
Yeni Soru Sor
Paylaşım Yap
Sorulara Dön
404 Notfound
404 Notfound
55K UP
Üye 13 Ağustos 2023 1 Cevap
1

Javascriptte 9007199254740991 integer üstü neden güvensiz sayılıyor?

İngilizcede buna unsafe integers deniyor. Bu konuyu ingilizce olarak araştırmaya calıstım ancak ingilizcem bu tarz ağır matematiksel yazılar içeren kaynaklar için yetersiz kalıyor.
175 görüntülenme
  • Şikayet Et
  • Mantık Hatası
0
  • Paylaş
  • Alıntıla
  • Alıntıları Göster
Tüm Reklamları Kapat
1 Cevap
Mehmet Kesici
Developer, Araştırmacı 13 Ağustos 2023

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.

Tüm Reklamları Kapat

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

  1. 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ı
  2. 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ı
Bu cevap, soru sahibi tarafından en iyi cevap seçilmiştir. Ancak bu, cevabın doğru olduğunu garanti etmez.
1
  • Şikayet Et
  • Mantık Hatası
0
  • Paylaş
  • Alıntıla
  • Alıntıları Göster
Daha Fazla Cevap Göster
Cevap Ver
Evrim Ağacı Soru & Cevap Platformu, Türkiye'deki bilimseverler tarafından kolektif ve öz denetime dayalı bir şekilde sürdürülen, özgür bir ortamdır. Evrim Ağacı tarafından yayınlanan makalelerin aksine, bu platforma girilen soru ve cevapların içeriği veya gerçek/doğru olup olmadıkları Evrim Ağacı yönetimi tarafından denetlenmemektedir. Evrim Ağacı, bu platformda yayınlanan cevapları herhangi bir şekilde desteklememekte veya doğruluğunu garanti etmemektedir. Doğru olmadığını düşündüğünüz cevapları, size sunulan denetim araçlarıyla işaretleyebilir, daha doğru olan cevapları kaynaklarıyla girebilir ve oylama araçlarıyla platformun daha güvenilir bir ortama evrimleşmesine katkı sağlayabilirsiniz.
Popüler Yazılar
30 gün
90 gün
1 yıl
Evrim Ağacı'na Destek Ol

Evrim Ağacı'nın %100 okur destekli bir bilim platformu olduğunu biliyor muydunuz? Evrim Ağacı'nın maddi destekçileri arasına katılarak Türkiye'de bilimin yayılmasına güç katın.

Evrim Ağacı'nı Takip Et!
Aklımdan Geçen
Komünite Seç
Aklımdan Geçen
Fark Ettim ki...
Bugün Öğrendim ki...
İşe Yarar İpucu
Bilim Haberleri
Hikaye Fikri
Video Konu Önerisi
Başlık
Bugün Türkiye'de bilime ve bilim okuryazarlığına neler katacaksın?
Gündem
Bağlantı
Ekle
Soru Sor
Stiller
Kurallar
Komünite Kuralları
Bu komünite, aklınızdan geçen düşünceleri Evrim Ağacı ailesiyle paylaşabilmeniz içindir. Yapacağınız paylaşımlar Evrim Ağacı'nın kurallarına tabidir. Ayrıca bu komünitenin ek kurallarına da uymanız gerekmektedir.
1
Bilim kimliğinizi önceleyin.
Evrim Ağacı bir bilim platformudur. Dolayısıyla aklınızdan geçen her şeyden ziyade, bilim veya yaşamla ilgili olabilecek düşüncelerinizle ilgileniyoruz.
2
Propaganda ve baskı amaçlı kullanmayın.
Herkesin aklından her şey geçebilir; fakat bu platformun amacı, insanların belli ideolojiler için propaganda yapmaları veya başkaları üzerinde baskı kurma amacıyla geliştirilmemiştir. Paylaştığınız fikirlerin değer kattığından emin olun.
3
Gerilim yaratmayın.
Gerilim, tersleme, tahrik, taciz, alay, dedikodu, trollük, vurdumduymazlık, duyarsızlık, ırkçılık, bağnazlık, nefret söylemi, azınlıklara saldırı, fanatizm, holiganlık, sloganlar yasaktır.
4
Değer katın; hassas konulardan ve öznel yoruma açık alanlardan uzak durun.
Bu komünitenin amacı okurlara hayatla ilgili keyifli farkındalıklar yaşatabilmektir. Din, politika, spor, aktüel konular gibi anlık tepkilere neden olabilecek konulardaki tespitlerden kaçının. Ayrıca aklınızdan geçenlerin Türkiye’deki bilim komünitesine değer katması beklenmektedir.
5
Cevap hakkı doğurmayın.
Aklınızdan geçenlerin bu platformda bulunmuyor olabilecek kişilere cevap hakkı doğurmadığından emin olun.

Bize Ulaşın

ve seni takip ediyor

Göster

Şifremi unuttum Üyelik Aktivasyonu

Göster

Şifrenizi mi unuttunuz? Lütfen e-posta adresinizi giriniz. E-posta adresinize şifrenizi sıfırlamak için bir bağlantı gönderilecektir.

Geri dön

Eğer aktivasyon kodunu almadıysanız lütfen e-posta adresinizi giriniz. Üyeliğinizi aktive etmek için e-posta adresinize bir bağlantı gönderilecektir.

Geri dön

Close