Если есть задача получить число вида 0b11111 например с 5-ю единицами, т.е. на входе 5, на выходе 0b11111 = 31, это легко сделать формулой (1 << 5) — 1 (или 2^5 — 1). Можно ли придумать похожую простую формулу, если нужно "полосатое" число с чередующимися битами, т.е. на входе число 7, на выходе 0x1010101 = 85. Можно считать, что на входе нечётное число (или чётное если так будет проще).