Hazır Değerler dersinde Kesirli Sayılar başlığı altında bu sayıların onaltılı sistemde nasıl yazıldıkları anlatılıyor:
http://ddili.org/ders/d/hazir_degerler.html
Ben ilk defa olarak trileri kütüphanesinde kullandım:
http://code.google.com/p/trileri/source/browse/trunk/tr/string.d#285
Oradaki '0x0.8p0', 0.5 değerinde... İkili gösterirsek, onaltılı sistemdeki 8, ikili sistemde 1000 olduğu için şöyle oluyor:
0.1000...
Virgülden sonraki haneler de 1/2, 1/4, vs. diye gittikleri için elimizde yalnızca 1/2 var. O da 0.5 değerinde...
Kesirli sayıların doğruluk hataları olduğunu biliyoruz. Ama yarım, çeyrek, 1/8, 1/16, vs. gibi değerlerin bileşimlerini tam olarak gösterebilirler. O yüzden 0.5 de yazabilirdim. Ama ben yine de virgülden sonraki ilk bitin 1 olduğu onaltılı .8 yazımını yeğledim.
Bunun nedeni, daha sonra inceltme işaretli harfler de desteklendiğinde, onlara da belirli sayıda 1 biti eklendiğini daha kolay göstermek... Örneğin î için virgülden sonra .c yazabiliriz. Öyle yapınca, ikili olarak şöyle gösterilebilir (onaltılı c, ikili olarak 1100'dır):
0.1100...
O da 1/2 + 1/4'tür; yani 0.75.
Özetle, kesirli sayıları onaltılı olarak yazınca, değerin ikili sistemde doğru olarak gösterilebilen bir kesirli sayı değeri olduğunu garantilemiş oluyoruz.
Ali
--
[ Bu gönderi, http://ddili.org/forum'dan dönüştürülmüştür. ]