Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3903360
  • 博文数量: 534
  • 博客积分: 10470
  • 博客等级: 上将
  • 技术积分: 4800
  • 用 户 组: 普通用户
  • 注册时间: 2006-05-26 14:08
文章分类

全部博文(534)

文章存档

2021年(1)

2019年(1)

2017年(1)

2016年(2)

2013年(2)

2012年(10)

2011年(43)

2010年(10)

2009年(17)

2008年(121)

2007年(253)

2006年(73)

分类:

2007-07-10 22:23:04

例:你要存放0 ~ 4G之间的数据长度,最少要使用4bytes的空间,但问题是大部分时候数据的大小根本是达不到4G左右的。
    如:[len][len][len]...[len],len代表要存放的数据长度。
    有什么好的办法来存放最省空间呢?

有一种解决方案是:
    将len的存放改为:1到5个bytes来存放。当数据的长度小于254时我们只需要1byte就可以了;当数据的长度需要2bytes来存放时,我们将其头部的一个byte设置为254,也就是用了3bytes来存放2bytes可以存放下的数据;当数据的长度需要使用3bytes以上来存放时,我们将头部的一个byte设置为255,也就是用了5bytes来存放4bytes的数据。如果数据是常见的正态分布的话,这种方法应该比较省。
    这种方法其实就是将第一个byte的数据及可以用来存放数据也可以用来存放标志位了。一个位置多种用法。

寻求更好的办法...
阅读(2193) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~