Извлеките определенные биты и скопируйте их в какое-нибудь другое место в памяти на языке Си
Я хочу скопировать " n "битов из битовой позиции" m " в памяти. У меня есть указатель на определенный блок в 32-битной выровненной памяти. Позиция " m " - это m битов от этого указателя. Я хочу, чтобы скопировать n бит из этого 'М' бит установки в новый бит 'П', который является 'Р' бит с указателем. Это также может совпадать с буквой "М". Нужно справиться и с этим сценарием.
Например,
<----32 бит - - - - - >
ptr - >|_________________|
|_______|м|_______|
|_________________|
|_________________|
|__|п|____________|
|_________________|
Я хочу извлечь 67 бит из 45-й битной позиции(m) и скопировать все эти данные в 132-ю битную позицию(p).
Что я уже пробовал:
Я понятия не имею, как действовать дальше
Richard MacCutchan
Вам нужно сделать это, выбрав байт за раз, который нужно будет сдвинуть влево или вправо по мере необходимости. Если вы нарисуете кусочки на бумаге и отметите те, которые нужно скопировать, должно быть довольно ясно, что нужно сделать.