Outil pour coder/décoder des nombres via le codage NegaFibonacci (mots binaires ne comportant jamais deux valeurs 1 consécutives)
Codage de NegaFibonacci - dCode
Catégorie(s) : Compression, Mathématiques
dCode est gratuit et ses outils sont une aide précieuse dans les jeux, les maths, les énigmes, les géocaches, et les problèmes à résoudre au quotidien !
Une suggestion ? un problème ? une idée ? Écrire à dCode !
Le code de NegaFibonacci utilise une variante du théorème de Zeckendorf qui indique que tout nombre entier (relatif) peut s'écrire comme la somme de nombres de Fibonnacci généralisés (positifs ou négatifs) non consécutifs.
$$ n = \sum_{i=1}^{k} \beta_i F_{-i} $$
(noter l'indice $ i $ négatif) avec $ \beta_i $ (valant 0 ou 1)
Le codage NegaFibonnacci est la concaténation des coefficients binaires $ \beta_i $ pour en faire un nombre binaire.
Exemple : $ 12 $ est la somme de $ F_{-7} = 13 $ et $ F_{-2} = -1 $ soit 1000010 en binaire (les deux 1 sont en position 7 et 2 en partant de la droite).
Cette représentation similaire à Zeckendorf ne possède jamais 2 nombres de Fibonnacci consécutifs et donc la valeur binaire n'a jamais 2 fois le chiffre 1 consécutivement.
Chaque 1 du mot binaire correspond à un nombre de NegaFibonacci (nombre de la suite de Fibonacci généralisée aux nombres négatifs). Ainsi, pour calculer le nombre décimal original, ajouter tous les nombres de NegaFibonacci correspondant aux 1 du mot binaire.
Exemple : 10100 correspond à $ 1 \times F_{-5} + 0 \times F_{-4} + 0 \times F_{-3} + 1 \times F_{-2} + 0 \times F_{-1} = F_{-5} + F_{-3} = 5 + 2 = 7 $
Le codage NegaFibonacci est déjà une variante du codage de Fibonacci. Il a pour avantage d'être généralisable aux nombres relatifs (entiers positifs ou négatifs).
dCode se réserve la propriété du code source pour "Codage de NegaFibonacci". Tout algorithme pour "Codage de NegaFibonacci", applet ou snippet ou script (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou toutes fonctions liées à "Codage de NegaFibonacci" (calculer, convertir, résoudre, décrypter / encrypter, déchiffrer / chiffrer, décoder / encoder, traduire) codés en langage informatique (Python, Java, C#, PHP, Javascript, Matlab, etc.) ou toute base de données, ou accès API à "Codage de NegaFibonacci" ou tout autre élément ne sont pas publics (sauf licence open source explicite type Creative Commons). Idem avec le téléchargement pour un usage hors ligne sur PC, mobile, tablette, appli iPhone ou Android.
Rappel : dCode est une ressource éducative et pédagogique, accessible en ligne gratuitement et pour tous.
Le contenu de la page "Codage de NegaFibonacci" ainsi que ses résultats peuvent être copiés et réutilisés librement, y compris à des fins commerciales, à condition de mentionner dCode.fr comme source.
L'export des résultats est gratuit et se fait simplement en cliquant sur les icônes d'export ⤓ (format .csv ou .txt) ou ⧉ copier-coller.
Pour citer dCode.fr sur un autre site Internet, utiliser le lien :
Dans un article scientifique ou un livre, la citation bibliographique recommandée est : Codage de NegaFibonacci sur dCode.fr [site web en ligne], consulté le 17/04/2025,