  In this paper, we focus on the design of binary constant weight codes that
admit low-complexity encoding and decoding algorithms, and that have a size
$M=2^k$. For every integer $\ell \geq 3$, we construct a $(n=2^\ell,
M=2^{k_{\ell}}, d=2)$ constant weight code ${\cal C}[\ell]$ of weight $\ell$ by
encoding information in the gaps between successive $1$'s. The code is
associated with an integer sequence of length $\ell$ with a constraint defined
as {\em anchor-decodability} that ensures low complexity for encoding and
decoding. The complexity of the encoding is linear in the input size $k$, and
that of the decoding is poly-logarithmic in the input size $n$, discounting the
linear time spent on parsing the input. Both the algorithms do not require
expensive computation of binomial coefficients, unlike the case in many
existing schemes. Among codes generated by all anchor-decodable sequences, we
show that ${\cal C}[\ell]$ has the maximum size with $k_{\ell} \geq
\ell^2-\ell\log_2\ell + \log_2\ell - 0.279\ell - 0.721$. As $k$ is upper
bounded by $\ell^2-\ell\log_2\ell +O(\ell)$ information-theoretically, the code
${\cal C}[\ell]$ is optimal in its size with respect to two higher order terms
of $\ell$. In particular, $k_\ell$ meets the upper bound for $\ell=3$ and
one-bit away for $\ell=4$. On the other hand, we show that ${\cal C}[\ell]$ is
not unique in attaining $k_{\ell}$ by constructing an alternate code ${\cal
\hat{C}}[\ell]$ again parameterized by an integer $\ell \geq 3$ with a
different low-complexity decoder, yet having the same size $2^{k_{\ell}}$ when
$3 \leq \ell \leq 7$. Finally, we also derive new codes by modifying ${\cal
C}[\ell]$ that offer a wider range on blocklength and weight while retaining
low complexity for encoding and decoding. For certain selected values of
parameters, these modified codes too have an optimal $k$.
