8位浮点二进制到十进制

时间:2015-05-15 00:26:45

标签: floating-point 32-bit floating-point-conversion

此问题类似于此处提出的问题:Floating point conversion for 8-bit floating point numbers。明确的答案是好的,但我错过了一些符号的意思,并且一些数学在两行之间完成。如果可以的话,请引导我完成将以下8位二进制浮点转换为IEEE 754-2008的十进制对应的过程。

此公式的位置在何处以及此公式中的变量是什么,具体为2**

bias = emax = 2**(k - p - 1) - 1

请向我展示将0010 0110转换为十进制表示的数学步骤。

1 个答案:

答案 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.