Tool for encoding/decoding numbers using Fibonacci encoding (binary words never having two consecutive 1 values)

Fibonacci Encoding - dCode

Tag(s) : Compression, Mathematics

dCode is free and its tools are a valuable help in games, maths, geocaching, puzzles and problems to solve every day!

A suggestion ? a feedback ? a bug ? an idea ? *Write to dCode*!

Tool for encoding/decoding numbers using Fibonacci encoding (binary words never having two consecutive 1 values)

The Fibonacci code uses the Zeckendorf theorem (and Zeckendorf's representation of a number) which states that any integer can be written as the sum of non-consecutive Fibonacci numbers.

$$ n = \sum_{i=1}^{k} \beta_i F_{i} $$

The Fibonnacci coding consists in noting the coefficients $ \beta_i $ (being 0 or 1) to make a binary number.

__Example:__ $ 123 $ is the sum of $ F_{11} = 89 $ and $ F_{9} = 34 $ or 1010000000 in binary (the two 1 are in position 8 and 10 starting from the right).

As the Zeckendorf representation never has 2 consecutive Fibonnacci numbers, the binary value will never have 2 times the number 1 consecutively.

Each 1 of the binary word corresponds to a Fibonacci number, to find the decimal number, add all the Fibonacci numbers corresponding to the 1 of the binary word.

__Example:__ 10100 corresponds to $ 1 \times F_5 + 0 \times F_4 + 0 \times F_3 + 1 \times F_2 + 0 \times F_1 = F_5 + F_3 = 8 + 3 = 11 $

A variant of Zeckendorf's theorem indicates that it is also possible to write any integer as the sum of non-consecutive Nega-Fibonacci (Generalization of Fibonnacci with negative indices) numbers, this encoding is called NegaFibonacci encoding.

dCode retains ownership of the online 'Fibonacci Encoding' tool source code. Except explicit open source licence (indicated CC / Creative Commons / free), any algorithm, applet or snippet (converter, solver, encryption / decryption, encoding / decoding, ciphering / deciphering, translator), or any function (convert, solve, decrypt / encrypt, decipher / cipher, decode / encode, translate) written in any informatic language (PHP, Java, C#, Python, Javascript, Matlab, etc.) no data, script or API access will be for free, same for Fibonacci Encoding download for offline use on PC, tablet, iPhone or Android !

Please, check our community Discord for help requests!

fibonacci,coding,binary,compression

Source : https://www.dcode.fr/fibonacci-encoding

© 2021 dCode — The ultimate 'toolkit' to solve every games / riddles / geocaching / CTF.

Feedback

▲