I am reading Fundamentals of Grassmann Algebra for game developers and it dawned on me that a slight tweak in the notation would make things easier. Remember that for n dimensions that number of basis elements are $2^n$.
In the current notation
$$ \boldsymbol{e}_{31} = \boldsymbol{e}_3 \wedge \boldsymbol{e}_1$$ $$ \boldsymbol{e}_{123} = \boldsymbol{e}_1 \wedge \boldsymbol{e}_2 \wedge \boldsymbol{e}_3$$
given the n-vector space basis vectors $\boldsymbol{e}_i$ with $i=1\ldots n$.
If we used powers of two for the basis vectors $\boldsymbol{e}_{k}$ with $k=2^{(i-1)}=1,2,4,8 \ldots 2^{n-1}$ then we can shorthand the notation using binary math with
$$ \boldsymbol{e}_7 = \boldsymbol{e}_{1+2+4} = \boldsymbol{e}_1 \wedge \boldsymbol{e}_2 \wedge \boldsymbol{e}_4 $$
and we can use $\boldsymbol{e}_0$ as the basis for scalar values in a vector space.
Similarly with the basis of anti-vectors or (n-1) vectors
$$ \overline{\boldsymbol{e}}_7 = \overline{\boldsymbol{e}}_{1+2+4} = \overline{\boldsymbol{e}}_1 \vee \overline{\boldsymbol{e}}_2 \vee \overline{ \boldsymbol{e}}_4 $$
This creates a nice symmetry between vectors and anti-vector notation. For example with 4D Grassman Algebra:
$$ \begin{array}{cc|cc} \mbox{Grade} & \mbox{DOF} & \mbox{Vector Space Basis} & \mbox{Anti-Vector Space}\\ \hline 0 & 1 & \boldsymbol{e}_{0} & \overline{\boldsymbol{e}}_{0}=\boldsymbol{e}_{15}\\ 1 & 4 & \begin{pmatrix}\boldsymbol{e}_{1}\\ \boldsymbol{e}_{2}\\ \boldsymbol{e}_{4}\\ \boldsymbol{e}_{8} \end{pmatrix} & \begin{pmatrix}\overline{\boldsymbol{e}}_{1}\\ \overline{\boldsymbol{e}}_{2}\\ \overline{\boldsymbol{e}}_{4}\\ \overline{\boldsymbol{e}}_{8} \end{pmatrix}=\begin{pmatrix}\boldsymbol{e}_{14}\\ \boldsymbol{e}_{13}\\ \boldsymbol{e}_{11}\\ \boldsymbol{e}_{7} \end{pmatrix}\\ 2 & 6 & \begin{pmatrix}\boldsymbol{e}_{3}\\ \boldsymbol{e}_{5}\\ \boldsymbol{e}_{6}\\ \boldsymbol{e}_{9}\\ \boldsymbol{e}_{10}\\ \boldsymbol{e}_{12} \end{pmatrix} & \begin{pmatrix}\overline{\boldsymbol{e}}_{3}\\ \overline{\boldsymbol{e}}_{5}\\ \overline{\boldsymbol{e}}_{6}\\ \overline{\boldsymbol{e}}_{9}\\ \overline{\boldsymbol{e}}_{10}\\ \overline{\boldsymbol{e}}_{12} \end{pmatrix}=\begin{pmatrix}\boldsymbol{e}_{12}\\ \boldsymbol{e}_{10}\\ \boldsymbol{e}_{9}\\ \boldsymbol{e}_{6}\\ \boldsymbol{e}_{5}\\ \boldsymbol{e}_{3} \end{pmatrix}\\ 3 & 4 & \begin{pmatrix}\boldsymbol{e}_{14}\\ \boldsymbol{e}_{13}\\ \boldsymbol{e}_{11}\\ \boldsymbol{e}_{7} \end{pmatrix} & \begin{pmatrix}\overline{\boldsymbol{e}}_{14}\\ \overline{\boldsymbol{e}}_{13}\\ \overline{\boldsymbol{e}}_{11}\\ \overline{\boldsymbol{e}}_{7} \end{pmatrix}=\begin{pmatrix}\boldsymbol{e}_{1}\\ \boldsymbol{e}_{2}\\ \boldsymbol{e}_{4}\\ \boldsymbol{e}_{8} \end{pmatrix}\\ 4 & 1 & \boldsymbol{e}_{15} & \overline{\boldsymbol{e}}_{15}=\boldsymbol{e}_{0} \end{array} $$
Note that the bitwise NOT operator is used to convert from vector basis to anti-vector. This notation has the advantage of compacting the indexes as much as possible, and by retaining the symmetry (and duality) of the components makes for easier mnemonics for the various operations.
So my question is, why not use powers of two for the basis vectors indexes?
Appendix
For example, to prove that $\overline{\boldsymbol{e}}_5 = \boldsymbol{e}_{10}$ do the following:
$$\overline{\boldsymbol{e}}_5 = \overline{\boldsymbol{e}}_1 \vee \overline{\boldsymbol{e}}_4 = (\boldsymbol{e}_2 \wedge \boldsymbol{e}_4 \wedge \boldsymbol{e}_8) \vee (\boldsymbol{e}_1 \wedge \boldsymbol{e}_2 \wedge \boldsymbol{e}_8) = \boldsymbol{e}_2 \wedge \boldsymbol{e}_8 = \boldsymbol{e}_{10}$$
The general rule is $\overline{\boldsymbol{e}}_k = \boldsymbol{e}_{(2^n-1-k)}$
Your notation may be somewhat pratical in very low-dimensional spaces. But it has several strong drawbacks :
Most mathematicians don't work in a fixed dimension with explicit indices, but in general dimension $n$ with variable indices. So this would mean writing basis vectors as $e_{2^i}$ instead of $e_i$, and $e_{2^i + 2^j+2^k}$ instead of $e_{ijk}$ for instance.
Even if you work in a fixed dimension with explicit indices (for instance if you're an engineer), it makes you decompose numbers in binary all the time. It must be very soon tiring to wonder what basis vectors are used for $e_{81}$, whereas $e_{124}$ is immediately clear.
More importantly : if you really need to work with what you call "anti-vectors" (be careful, this is a highly non-standard terminology, in fact this very question is one of the best references for it on the net...), be very careful. The reference you use is made for engineers, not for mathematicians, so it doesn't really preoccupy itself with conceptual details (which is fine in the context), and that leads to errors in your analysis of it.
The very definition of $\overline{e_i}$ is a bit shady, since it's only defined in dimension $4$ in the text, in an explicit manner. Notice that while the definition of (for instance) $e_{124}$ is very clear (it's the wedge product of the $e_i$ in the order corresponding to the subscript, so here it's $e_1\wedge é_2\wedge e_4$), the definition of $\overline{e_2}$ in the text is not $e_{134}$ as one would expect but $e_{143}$ ; and the order matters ! And this leads to an error in the notation you suggest, because in general $\overline{e_k}$ in your notation will not be of the form $e_m$ for any $m$ (there will be a sign).
So why the order change ? It's because the author wants to have $e_i\wedge \overline{e_i} = e_{1234}$, and if you define $\overline{e_i}$ in the "natural" way you will get annoying signs. But this is completely arbitrary, because it's just as natural to want $\overline{e_i}\wedge e_i = e_{1234}$, and you can't have both if the dimension is even.
I will tell you how I would do it : first you index your basis by an ordered set $I$ (you can take $I = [1;n]$ of course, but it's really not necessary). Then for any $J\subset I$, you define $e_J$ as the wedge product of the $e_i$ with $i\in J$ in the increasing order (remember, the order matters). Then you might define $\overline{e_J} = e_{J^c}$ where $J^c$ is the complementary of $J$ in $I$. Then you get $\overline{\overline{e_J}} = e_J$ and $e_J \wedge \overline{e_J} = \pm e_I$ and there is no natural choice that makes the sign to be always $+1$ ; you have to remember that there are signs, that's part of the game. (Note that even here the operation $x\mapsto \overline{x}$ heavily depends on the choice of ordered basis).
In conclusion, your suggested notation seems more cumbersome to me than really useful, and one of your arguments for it (the whole "anti-vector" stuff) is mainly based on a misunderstanding of your textbook, which is made for engineers, and thus only makes definitions that work in $3$ or $4$ dimensions, and should probably not be used as a basis for a general study of exterior algebra.