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ı?
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
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.

.
 
Üst