如何编码和解码浮点数的二进制流
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位的解析呢
我总觉得有简单一点的算法能简单一点,效率高一些