首页新闻找找看学习计划

数据压缩问题

0
悬赏园豆:50 [已解决问题] 解决于 2013-11-28 09:52

求一种保存float类型数据到文件的方式,要求可以直接读取到第N个数据的值,要保存后文件越小越好

油纸伞的主页 油纸伞 | 初学一级 | 园豆:37
提问于:2012-07-16 16:58
< >
分享
最佳答案
1

简单的压缩算法就是把byte字节分成两部分 比如上3位保存重复的数据次数,下5位保存数值,前提是数据一般都是比较小的

收获园豆:40
龙的专属 | 菜鸟二级 |园豆:248 | 2012-07-20 09:58

能具体说下吗,或者举个例子,谢谢了

油纸伞 | 园豆:37 (初学一级) | 2012-07-20 10:00
其他回答(3)
0

直接 转化成16进制 ,连续 保存,读取的 时候,根据 位数 *长度,可以得到开始位置,而后二进制 读出数据,就可以了吧。

無限遐想 | 园豆:3740 (老鸟四级) | 2012-07-16 17:14

现在读取都是按“位数 *长度”做的,一个单精度浮点数的位数是4,都是这么4*n,但是浮点数怎么给转成16进制?这样转完之后,每一个浮点数占多少字节

支持(0) 反对(0) 油纸伞 | 园豆:37 (初学一级) | 2012-07-16 17:19
0

就算不转换直接存放成TXT文件也要不了多少空间啊...干嘛压缩?

hexllo | 园豆:405 (菜鸟二级) | 2012-07-16 17:41

这个文件是一个计算的计算结果,类似于一个100米高、50米宽、200长的长方体,这个长方体里面充满了一个个的0.2米长宽高的小立方体,每一个立方体有个单精度值,而该数据文件就是用来保存这个值的,几百兆的文件呢,我想把这个文件变小点,越小越好。

支持(0) 反对(0) 油纸伞 | 园豆:37 (初学一级) | 2012-07-16 17:46
0

嗯,还是“龙的专属”说的比较靠谱,我就是这么弄的,因为可以确定你的数据的大概范围,就可以把这个数据占用的byete位数中不使用的部分给省略掉

油纸伞 | 园豆:37 (初学一级) | 2013-11-28 09:50
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册