Fibonacci-code

Uit Wikipedia, de vrije encyclopedie

In de wiskunde en speciaal in de informatica is de Fibonacci-code een universele code, gebaseerd op de Fibonacci-getallen (de getallen in de rij van Fibonacci), die de positieve gehele getallen codeert tot binaire woorden. De code wordt gebruikt in datacompressie, daarom eindigt elk woord met "11" en komt de combinatie "11" verder niet in een woord voor.

Volgens de Stelling van Zeckendorf heeft elk positief geheel getal een Zeckendorf-representatie, een voorstelling als som van niet-opeenvolgende Fibonacci-getallen. Voor het getal 100 is dit:

De rij van Fibonacci begint met:

Voor 100 kan daarom in een soort positiestelsel geschreven worden:

,

waarin geteld wordt vanaf de tweede 1 in de rij.(Normaal gesproken zou dit andersom genoteerd worden met de hoogste positie voorop, dus als 1000010100.)

De rij 0'en en 1'en eindigt voor elk getal met een 1. Voor de herkenbaarheid van het eind van de code voegt de Fibonacci-codering er nog een 1 aan toe. Omdat in de representatie nooit twee opeenvolgende Fibonacci-getallen voorkomen, staat alleen aan het eind van een code "11". De Fibonacci-code voor 100 is dus:


Definitie[bewerken | brontekst bewerken]

De Fibonacci-code voor het positieve gehele getal is het binaire woord:

,

dus met , waarvoor geldt:

en

.

Daarin is het i-de getal in de rij van Fibonacci, dus, met weglating van de eerste twee, ongebruikte, elementen, de rij:

In deze codering is de voorlaatste bit de meest significante bit en de eerste bit de minst significante.

In de onderstaande tabel staan de Fibonacci-codes van de getallen 1 tot en met 14.

getal Zeckendorf-representatie Fibonacci-code
1 11
2 011
3 0011
4 1011
5 00011
6 10011
7 01011
8 000011
9 100011
10 010011
11 001011
12 101011
13 0000011
14 1000011

Zie ook[bewerken | brontekst bewerken]

Referenties[bewerken | brontekst bewerken]

Externe links[bewerken | brontekst bewerken]