文章目录加载中

Varint编码:不定长二进制整型编码

第一位的 0 或者 1 代表:是否是数字的尾部;剩下的 7 位用于记录数字的二进制。

例如,数字 299 在 int32 下是:

00000000 00000000 00000001 00101011

编码后是:

10101011 00000010

优点很明显:节省了 2 个字节。

对于小于$2^{28}$的 int32 或者 int64,Varint 起到压缩效果。对于大数字,位数反而更多。但是,正常情况下小数字使用频率远远高于大数字

本文来自心谭博客:xin-tan.com,经常更新web和算法的文章笔记,前往github查看目录归纳:github.com/dongyuanxin/blog
0