C 压缩递增数据的最佳方法
我有一个向量,在这里我保存一个递增的数据。通常,向量的每个元素都是一个64位长的变量。然而,很可能两个连续元素之间的差异非常小,因此,例如,我们可以有一个如下的序列C 压缩递增数据的最佳方法,c,compression,x86-64,C,Compression,X86 64,我有一个向量,在这里我保存一个递增的数据。通常,向量的每个元素都是一个64位长的变量。然而,很可能两个连续元素之间的差异非常小,因此,例如,我们可以有一个如下的序列 1, 34, 37, 42, 45, 1098, 1200, 1211, 1938 压缩此数据的最佳方式是什么。理想的做法是保留差异,并有一个头字节来定义差异有多大,是仅仅是一个字节、一个字、两个字等等,还是有更好的方法来压缩这种增量数据 编辑 我需要在线压缩,也就是把数据放在向量中。你可以假设一个动态扩展的向量。听起来你需要一些
1, 34, 37, 42, 45, 1098, 1200, 1211, 1938
压缩此数据的最佳方式是什么。理想的做法是保留差异,并有一个头字节来定义差异有多大,是仅仅是一个字节、一个字、两个字等等,还是有更好的方法来压缩这种增量数据
编辑
我需要在线压缩,也就是把数据放在向量中。你可以假设一个动态扩展的向量。听起来你需要一些东西(正如你自己已经说过的)比如差分调制。也许这会给你一些启发:听起来你需要一些东西(就像你自己说过的那样),比如差分调制。也许这会给你一些启发:当增量通常很小时,这里有一个非常简单的策略:
0xxxxxxx
1xxxxxxx 0xxxxxxx