Sabit Noktalı Sayı Formatı

Sabit noktalı sayı formatı sayının tam kısmı ve ondalık kısmı ile yazılır. Bu sayı formatında tasarlanacak sisteme göre, istenilen sayının maksimum büyüklüğü ve hassasiyet göz önünde bulundurularak bir uzunlukları belirlenir.

 i.f

i : Tam kısım

f : Ondalık kısım

n bitlik sabit noktalı sayının matematiksel ifadesi aşağıda verilmiştir.

Sayi =n 2^{-m}

n: n bitlik sayının integer değeri

m : noktadan sonraki bit sayısı

Örneğin 3,375 sayısını sayısı incelenecek olursa

Sayı = 011.011 biçiminde sabit noktalı sayı formatına çevrilir.

n = 27, m = 3 olarak bulunur.

Matematiksel ifadede değerleri yerine koyarsak;

Sayı = 27 * 2 -3

Sayı = 27 / 8

Sayı = 3.375

şeklinde ifade edilir.

Pozitif sayıların gösteriminde tam kısım ikili olarak ifade edilir. Ondalık kısım ise ikili formatta tam olarak ifade edilemeyip, ondalık kısmın ifade edileceği bit sayısına göre hata medyana getirebilir. Aşağıda bir sayının tam kısmı için 5 bit ve ondalık kısmı için 7 bit kabul edilerek sabit noktalı sayı formatına dönüşümü verilmiştir.

Sayı = 3.1875

Tam kısım = 3

Ondalık = 0.1875

Tam kısmı 5 bitlik ikili sayı şeklinde yazarsak

Tam = 00011

Ondalık kısmın çevriminde ondalık kısım, bu kısmın istendiği bit uzunluğu kadar 2 ile çarpılır. Çarpımın sonucu 1 den küçükse bit değerine 0, 1’den büyük ve eşitse bit değerine 1 yazılır ve çarpım sonucu 1’den çıkarılır. Sayı örneğimizin ondalık kısmının çevrimi aşağıda verilmiştir.

    1. 1.         0.1875          *          2 = 0.375        → 0
    2. 2.         0.375            *          2 = 0.75          → 0
    3. 3.         0.75             *          2 = 1.5            → 1
    4. 4.         0.5                *          2 = 1               → 1
    5. 5.         0                   *          2 = 0               → 0
    6. 6.         0                   *          2 = 0               → 0
    7. 7.         0                   *          2 = 0               → 0

Dönüşümler sonucunda 3.1875 sayısının sabit noktalı sayı gösterimi aşağıdaki gibidir.

00011.00110000

Yukarıda bir sayının sabit noktalı sayı formatına çevrimini gösterdik. Sabit noktalı sayının çevrim ise yukarıda yapılan işlemlerin tam tersi şeklindedir. Aşağıda sabit noktalı sayı formatının virgüllü sayı formatına dönüşümü verlmiştir.

Sayı = 00011.0011000

Tam = 00011

Ondalık = 0011000

Tam kısmı onluk sayı formatına aşağıdaki gibi dönüştürülür.

Tam = 0*  2^ 4 + 0 * 2^ 3 + 0 * 2^ 2 + 1 * 2^ 1 + 1 * 2^ 0

Tam = 0 + 0 + 0 + 2 + 1

Tam = 3

Ondalık kısmın dönüşümü de aşağıdaki gibidir.

Ondalık =  0 * 2^ -1 + 0 * 2^ -2 + 1 * 2^ -3 + 1 * 2^ -4 + 0 * 2^ -5 + 0 * 2^ -6 + 0 * 2^ -7

Ondalık = 0 + 0 + 0.125 + 0.0625 + 0 + 0 + 0

Ondalık = 0.1875

Sayımızı tekrar elde etmek için tam kısım ile ondalık kısmı toplayarak sayımızı elde ederiz.

Sayı = Tam + ondalık

Sayı = 3 + 0.1875

Sayı = 3.1875

Bir sayının pozitif veya negatif olduğu en anlamlı bitine bakarak karar verilir. Bu bit 0 ise sayı pozitif , 1 ise sayı negatiftir. Pozitif sayıların gösterimini yukarıda tanımladım. Negatif sayıların gösterimi ise normal iklili, bire tümleyen ve ikiye tümleyen şeklinde 3 grupta toplayabiliriz. Yukarıda elde ettiğimiz sayıyı negatife çevrimi aşağıdaki gibi yapılır

Sayı = 00011.0011000

    1. Normal İkili    :   1 0011.0011000
    2. 1’e tümleyen   :   1 1100.1100111
    3. 2’ye tümleyen :   1 1100.1101000