EvenâÂÂRodeh code is a universal code encoding the non-negative integers developed by Shimon Even and Michael Rodeh.
Encoding
To code a non-negative integer in EvenâÂÂRodeh coding:
- If is not less than 4 then set the coded value to a single <code>0</code> bit. Otherwise the coded value is empty.
- If is less than 8 then prepend the coded value with 3 bits containing the value of and stop.
- Prepend the coded value with the binary representation of .
- Store the number of bits prepended in step 3 as the new value of .
- Go back to step 2.
To decode an EvenâÂÂRodeh-coded integer:
- Read 3 bits and store the value into .
- * If the first bit read was <code>0</code> then stop. The decoded number is .
- * If the first bit read was <code>1</code> then continue to step 2.
- Examine the next bit.
- * If the bit is <code>0</code> then read 1 bit and stop. The decoded number is .
- * If the bit is <code>1</code> then read bits, store the value as the new value of , and go back to step 2.
Examples
See also
References