Binary
#define BINARY(binstring) ((unsigned long long)(Binary<0##binstring>::value))
enum { value = (N % 8ULL) + 2ULL * Binary<N / 8ULL>::value };
struct Binary<0>