Elias Gamma Encoding in Python
The Elias gamma code is a universal code that is used to encode a sequence of positive integers. It is developed by Peter Elias. It is most useful when the upper bound of integers cannot be determined beforehand.
Steps in Encoding:
To encode a number X,
- Find the largest N, with
(greater power of 2).
- Encode N using Unary coding(i.e N zeroes followed by a one).
- Append the integer using N digits in Binary.
Example: Let’s consider an example where we want to encode 10,
We can represent 10 as:
Step1: Here, largest N = 3
Step2: N(=3) in Unary followed by a one = 0001
Step3: Now Representation of 2 in Binary using N(=3) digits = 010
So, Elias gamma encoding of 10 = 0001010
Below is the implementation of the above approach.