Dyadic Encoding is a form of binary encoding defined by Smullyan commonly used in computational complexity theory '1's and '2's that is bijective and has the "technical advantage, not shared by binary, of setting up a one-to-one correspondence between finite strings and numbers."
Dyadic encoding works by using a recursive definition of concatenating strings of '1's and '2's together using the following formula.
For example:
References
Dyadic Encoding Wikipedia(Text) CC BY-SA