32-х | procedure Rotate( Val: integer ); |
16-ти | procedure Rotate ( Val: integer ); |
Val - количество позиций, на которые циклически сдвигается битовая последовательность.
Процедура осуществляет циклический сдвиг битовой последовательности на количество позиций Val Если величина Val отрицательная, то осуществляется циклический сдвиг влево ( принцип циклического сдвига последовательности на 1 бит влево поясняет рисунок):
1 | 2 | … | N-1 | N |
… | ||||
2 | 3 | … | N | 1 |
Если величина Val положительная, то осуществляется циклический сдвиг вправо.
Принцип работы подпрограммыRotate
Например, переменная BitStr содержит битовую последовательность вида (11010011011). После выполнения операции сдвига на +3 текущая строка BitStr будет содержать битовую последовательность вида (01111010011)
32-х |
|
16-ти |
|