Kayan Noktalı Sayı Çevrim İşlemleri

Aşağıda girilen gerçel sayıyı istenen tanımlanan üs ve çarpan bit uzunluklarına göre ikili kayan noktalı sayı formatına çeviren Float2bin fonksiyonu Matlab kodu verilmiştir. 

  1. function binary_Number = Float2bin(Number, bit_e, bit_f)
  2.  
  3. if Number > 0
  4.     binary_Number(1) = dec2bin(0);
  5. else
  6.     binary_Number(1) = dec2bin(1);
  7. end
  8. bias = 2^(bit_e-1) - 1;
  9. e = floor(log2(abs(Number))) + bias;
  10. binary_Number(2 : 1 + bit_e) = dec2bin(e);
  11.  
  12. f = Number / ((-1)^ binary_Number(1) * 2^(e-bias)) - 1;
  13. for n_i = 1 : bit_f
  14.     f = f * 2;
  15.     if f < 1
  16.         binary_Number(n_i + bit_e + 1) = dec2bin(0);        
  17.     else
  18.         f = f - 1;
  19.         binary_Number(n_i + bit_e + 1) = dec2bin(1);
  20.     end
  21.    
  22. end

 

İkili sayı formatında verilen sayının gerçel sayı formatınına çeviren bin2Float fonksiyonu Matlab kodu aşağıda verilmiştir.

  1. function Number = bin2Float(binary_Number, bit_e, bit_f)
  2.  
  3. e = 0;
  4. for n_i = 2 :  bit_e + 1
  5.     e = e + 2^(bit_e - n_i + 1) * bin2dec(binary_Number(n_i));
  6. end
  7. bias = 2^(bit_e-1) - 1;
  8.  
  9. f = 0;
  10. for n_i = 1 : bit_f
  11.     f = f + 2^(-n_i) * bin2dec(binary_Number(n_i + bit_e + 1));
  12. end
  13.  
  14. Number = (-1)^bin2dec(binary_Number(1)) * 2^(e-bias) * (1 + f);