2016-04-24 21 views
2

Ich versuche gerade, 44/7 in Gleitkomma-Format mit halber Genauigkeit zu konvertieren. Ich bin mir nicht sicher, ob ich es bisher richtig gemacht habe, also würde ich es wirklich schätzen, wenn sich jemand es ansehen könnte.Dezimal zu Gleitkomma mit halber Genauigkeit

44/7 = 6,285714285714 ...

6 in dual -> 110; 
0.285714 * 2 = 0,571428 -> 0 
0.571428 * 2 = 1.142856 -> 1 
0.142856 * 2 = 0.285714 -> 0 
... -> 0 1 0 0 1 0 0 1 0 0 1 0 0 1 0 0 1... 

-> 110, 01001001001001 
-> 1,1001001001001001 -> exponent: 2; 

Bias + Exponent: 2 + 15 = 17 => 1 0 0 0 1

All vernäht: 0 1 0 0 0 1 1 0 0 1 0 0 1 0 0 1

Ich habe nie Dezimal zu 16bit IEEE754 konvertiert, ist dies die richtige Art der Konvertierung? Vielen Dank!

Antwort

1

Korrekt. Wie Sie vielleicht erwarten, ist es auf 6.28515625 quantisiert.

0100011001001001 (Basis 2) = 4649 (Basis 16)

6.2857142857139996 
    = H(4649) 
    = F(40C92492) 
    = D(40192492 49249107) 
    = A(0X1.92492492491070P+2) 
6.28515625 
    = H(4649) 
    = F(40C92000) 
    = D(40192400 00000000) 
    = A(0X1.92400000000000P+2) 

Andere Datenpunkte:

+0.   0000 
-0.   8000 
-1.   BC00 
+1.   3C00 
+2.   4000 
+4.   4400 
+8.   4800 
+16.  4C00 
+32768.  7800 
+Max  7BFF 65504 
+.5f  3800 
+.25f  3400 
+.125f  3000 
+.0625f  2C00 
+MinNorm 0400 +6.103515625e-05 
-MinNorm 8400 -6.103515625e-05 
+MinDenorm 0001 +5.9604644775390625e-08 
-MinDenorm 8001 -5.9604644775390625e-08 
+Infinity 7C00 
-Infinity FC00 
+NaN(0)  7E00 
-NaN(0)  FE00