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Результирующий вектор.
Возвращает
void