From Wikipedia - Reading time: 4 minEven–Rodeh code is a universal code encoding the non-negative integers developed by Shimon Even and Michael Rodeh.[1]
To code a non-negative integer N in Even–Rodeh coding:
0 bit. Otherwise the coded value is empty.To decode an Even–Rodeh-coded integer:
0 then stop. The decoded number is N.1 then continue to step 2.0 then read 1 bit and stop. The decoded number is N.1 then read N bits, store the value as the new value of N, and go back to step 2.| Number | Encoding | Implied probability |
|---|---|---|
| 0 | 000 |
1/8 |
| 1 | 001 |
1/8 |
| 2 | 010 |
1/8 |
| 3 | 011 |
1/8 |
| 4 | 100 0 |
1/16 |
| 5 | 101 0 |
1/16 |
| 6 | 110 0 |
1/16 |
| 7 | 111 0 |
1/16 |
| 8 | 100 1000 0 |
1/256 |
| 9 | 100 1001 0 |
1/256 |
| ︙ | ||
| 15 | 100 1111 0 |
1/256 |
| 16 | 101 10000 0 |
1/512 |
| ︙ | ||
| 2761 | 100 1100 101011001001 0 |
1/1,048,576 |
| ︙ | ||