October 11, 2009

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. ]