Excel'de çıkarma hatası

Katılım
7 Eylül 2007
Mesajlar
16
Excel Vers. ve Dili
2003 türkçe
ilk sayı son sayı (ilk sayı)-(son sayı)
900,01 900 0,00999999999999091
900,02 900 0,01999999999998180
900,03 900 0,02999999999997270
900,04 900 0,03999999999996360
900,05 900 0,04999999999995450
900,06 900 0,05999999999994540
900,07 900 0,07000000000005000
900,08 900 0,08000000000004090
900,09 900 0,09000000000003180
900,10 900 0,10000000000002300

Yukarıdada görüldügü gibi ondalık sayısını arttırdığımızda hata oluşuyor.
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Sn.mstfclk

Eğer bu işlemin tersini (toplama işlemini) düşünürseniz de aynı hata ile karşılaşırsınız. Şöyle ki;

A1 Değeri -> 1
B1 Değeri -> 0,000123456789012345
C1 Değeri -> A1+B1

Normalde şunu çıkmasını bekleriz -> 1,000123456789012345
Ama sonuç -bakış açısı veya duyarlılık isteğinize bağlı olarak- bu şekilde çıkmaz. Bu işlemin sonucu :1.00012345678901 şeklinde görüntülenir.

Bunun sebebi anladığım kadarıyla; işlemci (processor) standardı ile ilgi bir konu... İşlemci standardı için de IEEE 754 (Elektrik Elektonik Mühendisliği Enstitüsü) kullanılıyormuş.

1/10 kesirinin karşılığı ondalıklı sayı olarak 0,1 'e eşit. Ancak bunu bilgisayar diline çevirmek için; binary (İkili/0-1) sayı sistemine döndürmek gerekiyor ve binary'e çevrildiğinde, "0,1" ondalık sayısı; limiti olmayan, "0" ve "1"lerin tekrarından oluşan bir dizi oluşturuyor. Yani şöyle birşey oluyor->
"0001100110011100110011 ......->" . Tabi bu sonsuzluk karşısında IEEE devreye giriyor ve buna bir standart koyarak, işlemcilerin yapılmasında bir sınır (limit) değerler oluşturuyor. Bu da; virgülden sonra 15 digitlik duyarlılık...Yani Katrilyonda bir hassasiyet...

Kısacası; karşılaştıığınız sorun Excel'in değil, işlemcilerin standardından kaynaklanan bir durum. ...

Eğer bahsettiğiniz sorun, ihtiyacınızı gidermeye yetmiyorsa; duyarlılık (hassasiyet) isteğiniz, katrilyonda bir'den daha fazla demektir ki; NASA'da sanırım bunun örnekleri görülebilir :)

Daha ayrıntılı bilgi için lütfen linki inceleyiniz

http://support.microsoft.com/kb/78113

Sağlıcakla kalın.
 
Katılım
7 Eylül 2007
Mesajlar
16
Excel Vers. ve Dili
2003 türkçe
Teşekkür

Verdiğiniz aydınlatıcı teknik bilgi için teşekkür ediyorum.
başarılarınızın devamını diliyorum.
 
Üst