如何将二进制浮点数转换为十进制数

Yod*_*oda 2 floating-point binary decimal

我使用过该网站:http://sandbox.mc.edu/~bennet/cs110/flt/dtof.html 他们说这2.6250_100_0101基于指数是4和mantisa 5/16.所以数字是(5/16) * 2^4,这绝对不是2.625.

那应该是怎么回事.

rud*_*vic 5

您正在以错误的方式解释数据.

0是符号,所以数字是正数100是指数,实际上是1(2 ^ 1).指数已签名,可能的值为:

000(数字0和非规范化数字)
001 -2
010 -1
011 0
100 1
101 2
110 3
111(无穷大和NAN)

PS NAN:不是数字(错误代码和东西)

0101是你的尾数.

这实际上意味着你的数字是1.0101(因为每个数字必须以"1"开头,因为"1"实际上没有存储),所以有一个隐藏的位用于额外的精度.

这给你(1 + 5/16)*2 = 2.625