Given a number $a$, we can write it as $a = \sum_{k=0}^n a_n 2^n$ where $a_n \in \{0,1\}$. Essentially, for any number we can write it in a binary representation. Hence, given a number $a$, you can uniquely identify the $k$'s such that $a_k$'s are non-zero. Hence, $a = \sum_{k \in \{m: a_m \neq 0\}} 2^k$
EDIT
We will proceed by induction to show that every positive integer can be expressed as $\displaystyle \sum_{k=0}^{n} a_k 2^k$, where $a_k \in \{0,1\}$ in a unique manner.
Clearly, $1 = 1 \cdot 2^0$. Further this is the unique representation since $2^k \geq 2$ for all $k \geq 1$. Hence, if there exists a non-zero $a_j$ for some $j\geq1$, then $1 = \sum_{k=0}^n a_k 2^k \geq a_j 2^j = 2^j \geq 2 > 1$ Hence, not possible. Hence, $1$ can be uniquely expressed as $\displaystyle \sum_{k=0}^n a_k 2^k$.
Assume that all $m \leq a$ has a unique binary representation i.e. $m = \displaystyle \sum_{k_m=0}^{n_m} a_{k_m}2^{k_m}$
Now we need to prove that $a+1$ has a unique binary representation. Let $n_{a+1} = \max \{2^n \leq a+1: n \in \mathbb{N}\}$ Now consider $b = a +1 - 2^{n_{a+1}}$. By induction hypothesis, we have a binary representation for $b$ as $\displaystyle \sum_{k_b=0}^{n_b} a_{k_b} 2^{k_b}$. Now the claim is that $n_b < n_{a+1}$. (Why? Else this will contradict the maximality of $n_{a+1}$. This can be proved by making use of the fact that $2^s + 2^s = 2^{s+1}$. You should also be able to show that the representation is in fact the unique representation.) Hence, this proves the unique binary representation for any positive integer.