Например, у меня есть следующий код:сдвига двоичных данных в C++
unsigned short a[2];
[bbbbbbbb][bbbbbbbb][bbbbxxxx][xxxxxxxx] // b : data, x : unused data
Как переложить эту бинарную последовательность так, чтобы она выглядит следующим образом:
[000000bb][bbbbbbbb][bbbbbbbb][bbxxxxxx]
Другими словами, я хотите вставить шесть нулевых битов (например) в начале данных, а затем сдвинуть все фактические данные вправо. Есть ли способ сделать это?
P.S: На самом деле я хочу сделать это на unsigned int
не unsigned short
.
Может кто-нибудь объяснить, почему мой вопрос downvoted? – xersi
Если вы не можете ответить на вопрос, не теряйте свою репутацию. Мне действительно нужно это для моего проекта. – xersi
использует std :: bitset для побитовой операции над двоичными файлами. – seccpur