Есть ли какой-нибудь умный способ смешать две битовые последовательности таким образом, чтобы биты из первой последовательности были в нечетных местах, а биты из второй последовательности были в четных местах.
Обе последовательности не длиннее 16b, поэтому выходные данные помещаются в 32-разрядное целое число.
Пример:
First sequence : 1 0 0 1 0 0
Second sequence : 1 1 1 0 1 1
Output : 1 1 0 1 0 1 1 0 0 1 0 1
Я думал о создании целочисленного массива размером 2 ^ 16, и тогда результат будет:
arr[first] << 1 | arr[second]