SORU
6 Kasım 2013, ÇARŞAMBA


Neden toplam sırasını değiştirerek farklı bir sonuç verir?

Neden toplam sırasını değiştirerek farklı bir sonuç verir?

23.53 5.88 17.64=47.05

23.53 17.64 5.88=47.050000000000004

Her iki Java JavaScript aynı sonuçları döndürür.

Yol nedeniyle kayan noktalı sayılar ikili, bazı rasyonel sayılar temsil ediliyor anladığım kadarıyla (1/3 - 0.333333... gibi) tam olarak temsil edilmesi.

Neden sadece öğelerin sırasını sonucu etkiler değişiyor mu?

CEVAP
6 Kasım 2013, ÇARŞAMBA


Belki de bu aptalca bir soru, ama sadece öğelerin sırasını değiştirmek neden bu sonucu etkiler mi?

Hangi değerler, büyüklüklerine göre yuvarlanır noktaları değişecek. Bu bir örnek olaraktürbu şey görüyoruz, hadi taklit yerine ikili kayan nokta, biz kullanarak bir ondalık kayan nokta türü ile 4 önemli basamak, her ektir gerçekleştirilen "sonsuz" hassas ve yuvarlak en yakın gösterilebilir numarası. Burada iki özetliyor:

1/3   2/3   2/3 = (0.3333   0.6667)   0.6667
                = 1.000   0.6667 (no rounding needed!)
                = 1.667 (where 1.6667 is rounded to 1.667)

2/3   2/3   1/3 = (0.6667   0.6667)   0.3333
                = 1.333   0.3333 (where 1.3334 is rounded to 1.333)
                = 1.666 (where 1.6663 is rounded to 1.666)

Hatta bu bir sorun olmayan tamsayılar ihtiyacımız yok:

10000   1 - 10000 = (10000   1) - 10000
                  = 10000 - 10000 (where 10001 is rounded to 10000)
                  = 0

10000 - 10000   1 = (10000 - 10000)   1
                  = 0   1
                  = 1

Bu önemli bölümü sınırlı sayıda var olduğunu belki daha net bir biçimde gösterirönemli bir basamak- sınırlı sayıdaondalık basamak. Eğer her zaman ondalık basamak sayısı aynı kalırsa, o zaman toplama ve çıkarma ile en az ince (değerler, taşma olmadı sürece) oluruz. Sorun daha büyük sayılar için geldiğinde, küçük bilgiler kaybolur - 10001 bu durumda 10000 yuvarlanır. (Bu*. *11) Bu sorunu bir örnektir

ÖNEMLİ NOT değerleri ilk satırın sağ tarafında aynıdır her durumda - o halde bir başka önemli nokta da kendinizi ondalık sayılar (23.53, 5.88, 17.64) olmayacak temsil tam olarak double değerler, bu sadece bir sorun nedeniyle sorunlar yukarıda gösterilen.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BSA

    BSA

    9 NİSAN 2012
  • Evan Coury

    Evan Coury

    29 NİSAN 2007
  • hitcreatormusic2

    hitcreatormu

    21 Mayıs 2010