Как преобразовать определенные биты в числе?
Если номер позиции pos, число разрядов len, а число, которое надо изменить - x, то ответом будетx | (((1 << len) - 1) << pos)
Генерировать числа, которые в двоичной системе счисления соответствуют нужным.
Например, чтобы установить 1 в n разряде числа, можно использовать сдвиг:
a = 1 << n;