> fibonacci | zeckendorf | universal <
// 斐波那契编码——基于黄金比例数学的自同步代码
0 字符
0 字符
[UNIVERSAL]
通用代码
无需任何参数,适用于任意正整数。
[SELF-SYNC]
自同步
利用 11 模式,在传输出错后仍然可以重新同步。
[MATHEMATICAL]
黄金比例
基于斐波那契数列与 Zeckendorf 定理。
>> 技术说明
斐波那契编码如何工作:
斐波那契编码基于 Zeckendorf 定理:每一个正整数都可以唯一表示为若干个互不相邻的斐波那契数之和。代码由这一表示的二进制形式构成,使用到的斐波那契位置为 1,未使用为 0,然后再追加一个额外的 1 作为终止位。这样 11 模式只会出现在每个码字的末尾。
编码示例:
斐波那契数列: 1, 2, 3, 5, 8, 13, 21... 1 = F(1) → 11 2 = F(2) → 011 3 = F(3) → 0011 4 = F(3)+F(1) → 1011 5 = F(4) → 00011 12 = F(5)+F(3)+F(1) → 101011 不使用相邻的斐波那契数 11 模式只出现在码字末尾
为什么使用斐波那契编码:
- ▸具备自同步特性
- ▸无需额外参数
- ▸对错误更健壮
- ▸表示唯一、不二义
- ▸具有数学上的优雅性
>> 常见问题
什么是斐波那契编码?
斐波那契编码是一种通用码,使用斐波那契数列来表示正整数。它基于 Zeckendorf 定理,生成的码字具有自同步特性,其中 11 模式只作为终止标记出现。
什么是 Zeckendorf 表示?
Zeckendorf 定理指出,每个正整数都可以唯一表示为若干个互不相邻的斐波那契数之和。这种表示方式正是斐波那契编码的基础。
为什么说它是自同步的?
因为 11 模式也就是两个连续的 1 只会出现在每个码字的末尾。解码器在传输发生比特错误后,仍可以通过查找 11 来重新找到码字边界。
斐波那契编码通常用在什么场景?
斐波那契编码常见于数据压缩研究、容错传输系统以及理论计算机科学中。相比实际效率,它更多是因为优雅的数学性质而被研究和使用。