• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Aradaki fark nedir?

Katılım
25 Mayıs 2010
Mesajlar
218
Excel Vers. ve Dili
2016 Pro Plus TR
A1: 7,95 B1: 7 c1: =A1-B1 Sonuç: 0,950000000000000 ( 15 hane)
A2: 8,95 B2: 8 c1: =A2-B2 Sonuç: 0,949999999999999 ( 15 hane)

Sonuçlar neden farklı?
 
Sorun gibi görünen olay; Excel'in kullandığı IEEE754 standtından kaynaklanıyor. Buna göre; sizin verdiğiniz örneklerdeki gibi reel sayılar (kayan noktalı sayılar) hesaplanmadan önce binary format'a yani ikili sisteme çevrilmek zorundadır. Bu çevrim sırasında her desimal (ondalık) sayı tam olarak ikili sisteme çevrilemediği zaman böyle durumlarla karşılaşılır.

Örneğin; 0,1 sayısını ikili sisteme çevirdiğiniz zaman 0.00011001100 ...... çıkar.


Burada, 1100 kısmı sonsuza kadar devam eder. Excel'in de nümerik ifadelerde 15 basamağa kadar duyarlı olduğunu düşünürsek, sonuçta bahsettiğiniz durumlarla karşılaşırız.

.
 
Geri
Üst