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". Sauf code licence open source explicite (indiqué Creative Commons / gratuit), l'algorithme pour "Codage de NegaFibonacci", l'applet ou snippet (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou les 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 les données, en téléchargement, script, ou les accès API à "Codage de NegaFibonacci" ne sont pas publics, idem pour un usage hors ligne, PC, mobile, tablette, appli iPhone ou Android !
Rappel : dCode est gratuit.
Le copier-coller de la page "Codage de NegaFibonacci" ou de ses résultats est autorisée (même pour un usage commercial) tant que vous créditez dCode !
L'exportation des résultats sous forme de fichier .csv ou .txt est gratuite en cliquant sur l'icone export
Citer comme source bibliographique :
Codage de NegaFibonacci sur dCode.fr [site web en ligne], consulté le 21/11/2024,