Как поместить битовую последовательность в байты (C/C++)

У меня есть пара целых чисел, например (в двоичном представлении):

00001000, 01111111, 10000000, 00000001

и мне нужно поставить их последовательно в массив байтов (символов), без начальных нулей, например так:

10001111 11110000 0001000

Я понимаю, что это должно быть сделано путем сдвига битов с помощью <<,>> и использования двоичного или | . Но я не могу найти правильный алгоритм, можете ли вы предложить лучший подход?

Целые числа, которые мне нужно поместить туда, представляют собой длинные длинные целые без знака, поэтому длина одного может быть где угодно от 1 бита до 8 байтов (64 бита).

5
задан Smaug 10 March 2012 в 15:01
поделиться