nmpp
|
Непрерывное смещение битов внутри бинарного массива в сторону конца массиваФункция смещает биты внутри бинарного массива на несколько позиций (nBits) в сторону конца массива. Внутри 64р. слова младшие биты сдвигаются на старшие позиции того же слова, а старшие биты перемещаются в младшие позиции следующего 64р. слова. Освободившееся место в первом 64р. слове заполняется старшими битами 64р. слова с адреса pnBits. Сдвинутые биты сохраняются в массиве pDst. Пример сдвига на 8 бит : Подробнее...
Функции | |
void | nmppsFwdShiftBitstream (const nm64u *pSrcVec, nm64u *pDstVec, nm64u *pnBits, int nBits, int nSize) |
Непрерывное смещение битов внутри бинарного массива в сторону конца массива
Функция смещает биты внутри бинарного массива на несколько позиций (nBits) в сторону конца массива. Внутри 64р. слова младшие биты сдвигаются на старшие позиции того же слова, а старшие биты перемещаются в младшие позиции следующего 64р. слова. Освободившееся место в первом 64р. слове заполняется старшими битами 64р. слова с адреса pnBits. Сдвинутые биты сохраняются в массиве pDst. Пример сдвига на 8 бит :
pnBits =[AB00000000000000] pSrcVec=[0807060504030201][FF0F0E0D0C0B0A09] pDstVec=[07060504030201AB][0F0E0D0C0B0A0908]
Последние 8 бит массива pDstVec будут потеряны. Если же указатель pBits установить на последнее 64р. слово в результате получится цикличическое перемещение бит.
pSrcVec | Входной вектор. |
nSize | Размер векторов в 64р. элементах. |
pnBits | Указатель на 64р-слово, старшие биты которого записываются на освобождающуюся при сдвиге младшую часть первого 64р. слова |
nBits | Кол-во позиций на которое происходит смещение бит :nBits=[2,4,6....62]. |
pDstVec | Результирующий вектор. |