8-битная маска с циклическим левым сдвигом:
shifted = number << 1
overflowed = (number & 0x100) >> 8
shifted &= 0xFF
result = overflowed | shifted
Вы должны быть в состоянии создать класс, который сделает это за вас. С чуть большим количеством того же самого, это может сдвинуть произвольную величину из значения произвольного размера.