Битовые операции
Если необходимо обрабатывать отдельные биты некоторой константы, то целесообразно использовать битовые операции. Для операций с битами используются логические операции (not, and, or и xor) и операции сдвига влево и вправо (shl и shr).
В операции shl вышедшие за пределы поля влево разряды заполняются нулями. В операции shr вышедшие за пределы поля вправо разряды теряются.
При выполнении битовых операций необходимо учитывать внутренне представление данных.
Пример 16.2. Пример на операции shl и shr
Uses crt;
Var
i,n :byte;
ch :char;
Begin
clrscr;
Repeat
Writeln('Введите целое число, для выхода из программы нажмите ESC');
Write('i='); Readln(i);
Writeln('Введите количество разрядов для сдвига n');
Write('n='); Readln(n);
Write(i:3,' shl ',n,'=',i shl n:4);
Writeln(' ':3,i:3,' shr ',n,'=',i shr n:4);
Writeln;
ch:=ReadKey;
Until ch=#27;
End.
Результат работы программы
Введите целое число, для выхода из программы нажмите ESC
i=12
Введите количество разрядов для сдвига n
n=2
12 shl 2= 48 12 shr 2= 3
Введите целое число, для выхода из программы нажмите ESC
i=128
Введите количество разрядов для сдвига n
n=1
128 shl 1= 256 128 shr 1= 64