Elias Gamma Code
Elias γ 编码将正整数 n 编码为 floor(log2(n)) 个 0 前缀 + 二进制表示,是通用前缀码,对均匀分布有效。
用途
在不知具体分布时提供通用变长编码,编码长度为 2*floor(log2(n))+1。
机制
设 k=floor(log2(n)),输出 k 个 0 后接 n 的 (k+1) 位二进制表示。解码时计数前导 0 得 k,再读 k+1 位得 n。
用例
- 通用整数变长编码
- 信息论教学
- 小整数紧凑表示
Elias γ 编码将正整数 n 编码为 floor(log2(n)) 个 0 前缀 + 二进制表示,是通用前缀码,对均匀分布有效。
在不知具体分布时提供通用变长编码,编码长度为 2*floor(log2(n))+1。
设 k=floor(log2(n)),输出 k 个 0 后接 n 的 (k+1) 位二进制表示。解码时计数前导 0 得 k,再读 k+1 位得 n。