Truncated binary encoding
Truncated binary encoding is an entropy encoding typically used for uniform probability distributions with a finite alphabet. It is parameterized by a maximum number n. It is slightly more general than binary encoding which is only optimal where n is a power of two.
For example, if n is 4, binary encoding allocates these codewords:
Instead, truncated binary allocates:
You can think of this as allocating an UNUSED to the first few symbols (until you run out of UNUSEDs), to make the first few symbols' codewords shorter.
Number
Encoding
0 000 1 001 2 010 3 011 4 100 UNUSED 101 UNUSED 110 UNUSED 111
Number
Encoding
0 00 1 01 2 10 3 110 4 111