我目前正在尝试将44/7转换为半精度浮点格式。 我不确定到目前为止我是否已经正确地完成了它,所以如果有人能看一眼,我真的很感激。
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;
偏差+指数:2 + 15 = 17 => 1 0 0 0 1
所有拼接在一起:0 1 0 0 0 1 1 0 0 1 0 0 1 0 0 1
我从未将十进制转换为16位IEEE754,这是正确的转换方式吗? 非常感谢!
答案 0 :(得分:1)
正确。正如您所料,它被量化为6.28515625。
0100011001001001(基数2)= 4649(基数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)
其他数据点:
+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