У меня есть целое число, которое составляет 8 битов, и я хочу распределить эти биты в начала 4 целых числа (4x8 бит) два на два. Например:
bit_8 = 0b_10_11_00_11
bit_32 = b"\x12\x32\x23\54" # --> [0b100_10, 0b1100_10, 0b1000_11, 0b1011_00]
what_i_want = [0b100_10, 0b1100_11, 0b1000_00, 0b1011_11]
Для удобства чтения я записал числа в список, но я хочу, чтобы они были bytes
. Я не очень хорош в битовых манипуляциях, и я не мог найти хороший способ. Я повторю этот процесс много раз, поэтому мне нужно быстрое решение. Я нашел способ установить биты один за другим в здесь , но мне интересно, есть ли лучший способ для моей проблемы.
Язык не так важен, мне нужен алгоритм. Тем не менее я предпочитаю Python.