IEEE 754
IEEE Kayan Nokta Aritmetiği Standardı kayan noktalı sayıların gösteriminde en çok kullanılan standarttır. İkilik sistemdeki sayılar bilimsel gösterim ile gösterildikten sonra işaret, üst ve anlamlı kısımdan oluşan üç parça şeklinde ifade edilebilirler. Bu gösterime sonsuz, sayı değil ve sıfırın gösterimi dahildir. IEEE 754 standardına göre sayılar tek duyarlı (32 bit) ve çift duyarlı (64 bit) şekilde gösterilebilirler.
Görünüm
Kayan noktalı sayılar IEEE 754 standardına göre üç kısımdan oluşur ve aşağıdaki şekilde gösterilir:
Bu şekilde işaret biti en anlamlı bittir. Daha fazla sayı gösterebilmek için yapılan üst kaydırma işlemi için kaydırma miktarı bit sayısına bağlı olarak belirlenir. Üstü göstermek için kullanılan bit sayısı k ise kaydırma miktarı 2k-1-1 şeklinde bulunur. Anlamlı kısmı ifade ederken bit sayısına bağlı olarak yuvarlama yapılır.
IEEE 754 Standardına göre bazı durumların karşılıkları şu şekildedir:
- Bu standarda göre olağanlaştırılmış yapıda ve mutlak değeri küçük olan sayılar gösterilemez.
- Olağanlaştırılmış en küçük sayı için S = 0, E = 00000001, F = 0000..0 şeklindedir.
- Bu durumda sayı N = (+)(1+0)x21-127 = 2−126 olarak bulunur. Yani 0 ve 2−126 arasındaki sayılar gösterilemez.
Tek Duyarlı
Tek duyarlı gösterimde sayı 32 bitle ifade edilir. Bu bitlerden biri işaret, 8'i üst 23 tanesi ise anlamlı kısmın gösterimi için kullanılır. Tek duyarlı gösterimde üst için kaydırma değeri 28-1-1 = 127 olarak hesaplanır.
Tek duyarlı gösterimde 6,375 sayısını göstermek istersek;
6 → (110)2
0,375 × 2 = 0,75 0,75 × 2 = 1,5 0,5 × 2 = 1,0
0,375 = (0,011)2 → 6,375 = (110,011)2
Sayıyı olağan duruma getirirsek: 110,011 = 1,10011x22
Sayı sıfırdan büyük olduğu için işaret biti: 0
Sayının üst değerinin saptırılmış hali: 2+127 = 129 → 12910 = 100000012
Anlamlı kısım: 10011000000000000000000
Sayı son olarak;
0 10000001 10011000000000000000000 şeklinde ifade edilir.
Çift Duyarlı
Çift duyarlı gösterimde sayı 64 bitle ifade edilir. Bu bitlerden biri işaret, 11'i üst ve 52 tanesi de anlamlı kısmı ifade etmek için kullanılır.
Bu gösterimde üst için sapma değeri 211-1-1 = 1023 olarak hesaplanır.
IEEE 754 Standardına göre yuvarlama
Kayan noktalı sayıların gösteriminde bilgisayar donanımının sınırlamaları nedeniyle sayılar yuvarlanarak belirlenmiş bit sayısına indirgenmek durumundadır. Bu durumda gerçeğe en yakın yuvarlamayı yapmak için üç farklı metot vardır.
- 0'a yuvarlama
Sayı gösterilebilecek bit seviyesine kadar olan kısmıyla ifade edilir, fazlalık olan bitler atılır. Bu durumda sayı 0'a yaklaşır. Pozitif sayılar için yuvarlama alta doğru, negatif sayılar içinse üste doğrudur.
Örnek:
.7783 eğer 3 bitlik alan uygunsa, .778 eğer 2 bitlik alan uygunsa, .77
- + sonsuza yuvarlama
Tüm sonuçlar sayıdan daha büyük olan en küçük değere yuvarlanır.
Örnek:
1.23 eğer 2 iki bitlik alan varsa, 1.3 -2.86 eğer 2 iki bitlik alan varsa, -2.8
- - sonsuza yuvarlama
Tüm sonuçlar kendinden küçük en büyük değere yuvarlanır.
Örnek:
1.23 eğer 2 iki bitlik alan varsa, 1.2 -2.86 eğer 2 iki bitlik alan varsa, -2.9
Bu metotlarla yuvarlama yapılarak sayı gerçek değerine en yakın şekilde korunmuş olur.