Каков самый быстрый способ повернуть биты в блоке 8x8 по битам?

Я не знаю точного термина для того, что я пытаюсь сделать. У меня есть блок 8x8 из бит , хранящийся в 8 байтах , каждый байт хранит одну строку. Когда я закончу, я хочу, чтобы в каждом байте сохранялся один столбец.

Например, когда я закончу:

Byte0out = Byte0inBit0 + Byte1inBit0 + Byte2inBit0 + Byte3inBit0 + ...
Byte1out = Byte0inBit1 + Byte1inBit1 + Byte2inBit1 + Byte3inBit1 + ...

Какой самый простой способ сделать это в C , который работает хорошо?

8
задан Petr Pudlák 6 January 2016 в 07:02
поделиться