29 Ekim 2014 Çarşamba

Kayan Noktalı Sayılar (Floating Point Numbers)

Bir önceki sayı sistemleri yazımının devamı niteliğinde olan bu yazıyı okumadan önce o yazıyı okumanızı tavsiye ederek yazıma başlıyorum.

Bilgisayarlarda reel sayılar, floating point sistemi ile ifade edilir. Bunun için farklı standartlar belirlenmiş olsa da kabul gören IEEE-754 standardıdır.


şeklinde ifade edilirler. S(sign) sayının işaretini, M(mantissa) mantisi, B(base) tabanı, E(exponent) üs kısmı ifade etmektedir.

32 bitlik bir reel sayının bit paylaşımı aşağıda görüldüğü gibidir.


E kısmı, ikiye tümleme ile yapılabilir ancak bu hesaplamaları zorlaştırdığı için exponent-bias yöntemi kullanılır. Bu kısımda ne kadar çok bir bulunur ise, o kadar büyük bir sayı ifade edilecektir. M kısmında ise bit çokluğu basamak hassaslığını arttırmaktadır.










Mantisin en solundaki sayı her zaman 1 kabul edilir ve 1 yapılır, belleğe yazılmaz.

Bir örnekle pekiştirelim.











Bu örneklerde, E kısmı ikiye tümleme ile ve M kısmında da soldaki bire dikkat edilmeden hesaplama yapılmıştır.

Şimdi exponent bias yöntemini öğrenerek işlemlerimizi yapmaya geçeceğiz.


|E| değeri, üs için ayrılan bit değeridir.

IEEE-754 standardındaki Floating Point sayılarının bit düzeyindeki bellek paylaşımı aşağıdaki tabloda verilmiştir.











Şimdi, -25.4 decimal sayısını floating point yöntemi kullanarak 16 bitlik (half) sistemde ifade edelim.

















Son olarak ilk örneklerimizi bias yöntemi ile yapalım.










Sonraki yazımda görüşmek üzere,


Hiç yorum yok: