Yod*_*oda 2 floating-point binary decimal
我使用过该网站:http://sandbox.mc.edu/~bennet/cs110/flt/dtof.html 他们说这2.625是0_100_0101基于指数是4和mantisa 5/16.所以数字是(5/16) * 2^4,这绝对不是2.625.
那应该是怎么回事.
您正在以错误的方式解释数据.
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