// Codificação Fibonacci - código auto-sincronizável baseado na matemática da razão áurea
Funciona para qualquer inteiro positivo sem parâmetros extras.
Permite recuperar a sincronização após erros de transmissão usando o padrão 11.
Baseado na sequência de Fibonacci e no teorema de Zeckendorf.
A codificação Fibonacci usa o teorema de Zeckendorf: todo inteiro positivo possui uma representação única como soma de números de Fibonacci não consecutivos. O código consiste nessa representação em binário (1 se o número de Fibonacci é usado, 0 caso contrário) seguida de um 1 adicional como terminador. O padrão 11 aparece apenas no final do código.
Sequência de Fibonacci: 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 Nenhum número de Fibonacci consecutivo é usado O padrão 11 aparece apenas no final do código
A codificação Fibonacci é um código universal que representa inteiros positivos usando a sequência de Fibonacci. Ela se baseia no teorema de Zeckendorf e produz códigos auto-sincronizáveis em que o padrão 11 aparece apenas como terminador.
O teorema de Zeckendorf afirma que todo inteiro positivo pode ser representado de forma única como soma de números de Fibonacci não consecutivos. Essa representação é a base da codificação Fibonacci.
O padrão 11 ou seja dois bits 1 consecutivos aparece apenas no final de cada palavra de código. Isso permite que o decodificador recupere os limites das palavras após erros de transmissão procurando por 11.
A codificação Fibonacci é usada em pesquisa de compressão de dados, em sistemas de transmissão tolerantes a erros e em ciência da computação teórica. Ela é valorizada mais por suas propriedades matemáticas do que pela eficiência prática.