此问题类似于此处提出的问题:Floating point conversion for 8-bit floating point numbers。明确的答案是好的,但我错过了一些符号的意思,并且一些数学在两行之间完成。如果可以的话,请引导我完成将以下8位二进制浮点转换为IEEE 754-2008的十进制对应的过程。
此公式的位置在何处以及此公式中的变量是什么,具体为2**
:
bias = emax = 2**(k - p - 1) - 1
请向我展示将0010 0110
转换为十进制表示的数学步骤。
答案 0 :(得分:0)
我在此网页上找到了有关如何进行转换的详细说明:
http://sandbox.mc.edu/~bennet/cs110/flt/ftod.html
以下是一个8位示例的复制粘贴,它将二进制字符串分解为0 010 0110
:
Convert the 8-bit floating point number 26 (in hex) to decimal.
Convert and separate: 2616 = 00100110 2
Exponent: 0102 = 210; 2 − 3 = -1.
Denormalize: 1.0112 × 2-1 = 0.1011.
Convert:
Exponents 20 2-1 2-2 2-3 2-4
Place Values 1 0.5 0.25 0.125 0.0625
Bits 0 . 1 0 1 1
Value 0.5 + 0.125 + 0.0625 = 0.6875
Sign: positive
Result: 26 is 0.6875.