标题:如何编码和解码浮点数的二进制流
只看楼主
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
结帖率:100%
 问题点数:0 回复次数:1 
如何编码和解码浮点数的二进制流
Byte  Bit  Meaning  Field  
1     1    -1       S
      2    2(-1)  M
      3    2(-2)  
      4    2(-3)  
      5    2(-4)  
      6    2(-5)  
      7    2(-6)  
      8    2(-7)  
2     1    2(-8)  
      2    2(-9)  
      3    2(-10)  
      4    2(-11)  
      5    2(3)  E  
      6   2(2)  
      7   2(1)  
      8    2(0)  

Value = M * 2(E)

这是一个解析字节的程序
这些M的那些位代表2的几次方。。。如2(-3)表示2的-3此方,为0.125

如何写程序使得
输入一个byte数组,如【96,3】输出6
输入一个byte数组,如【96,0】输出0.75

我的数学很差。。。不知道该怎么写,也不知道怎么推导数学公式,求各位帮忙了
最好能用C#。。。提供思路的也非常感谢
不但要解码,还要编码哦

PS:
不至于写个几个循环...分别循环小数位,指数位...
每次都做与运算...然后一位一位的加上去吧...再一乘吧...
那样效率慢死了...
这还只是16位...后面还有64位,32位的解析呢

我总觉得有简单一点的算法能简单一点,效率高一些
搜索更多相关主题的帖子: 二进制 点数 解码 编码 Byte 
2008-03-26 20:43
peach5460
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:武汉
等 级:贵宾
威 望:30
帖 子:2780
专家分:6060
注 册:2008-1-28
得分:0 
没人回帖???自己顶...

我总觉得授人以鱼不如授人以渔...
可是总有些SB叫嚣着:要么给代码给答案,要么滚蛋...
虽然我知道不要跟SB一般见识,但是我真的没修炼到宠辱不惊...
2008-03-27 19:09



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-205570-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.404834 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved