截断二进制编码(英语:Truncated binary encoding)是一种适用于拥有均匀分布特性的符号的熵编码方式。当符号个数不为
的整数次方时,比起使用普通固定长度的二元编码,采用截断二进制编码能缩短平均码长。
编码方式[编辑]
令
个符号,
,
,
。
当
不为
的整数次方,以
个进行位元固定二元编码时,会有
个未使用之码字,
。
首
个符号以码长为
的二元码,由小至大依序编码,剩下
个符号则以码长为
的二元码之末
个码字,依序编码。
当
,
可计算出,
,
。
首
个符号须进行码长为
之二元边码,剩下
个符号须进行码长为
之二元边码。
如下表:
截断二进制编码符号
|
固定二元编码符号
|
固定二元编码
|
截断二进制编码
|
0
|
0
|
000
|
00
|
1
|
1
|
001
|
01
|
2
|
2
|
010
|
10
|
-
|
3
|
011
|
-
|
-
|
4
|
100
|
-
|
-
|
5
|
101
|
-
|
3
|
6
|
110
|
110
|
4
|
7
|
111
|
111
|