Операции not, and, or, xor можно использовать для побитовых операций с целыми числами: not – унарная операция инверсии всех битов целого типа; and – побитовая логическая операция И двух целых чисел; or -побитовая логическая операция ИЛИ двух целых чисел; xor - побитовая логическая операция ИСКЛЮЧАЮЩЕЕ ИЛИ двух целых чисел.
Тип результата – целое число, бит которого формируется из битов операндов по следующим правилам.
Таблица правил выполнения побитовых операций
Операнд 1
Операнд 2
not
and
or
xor
-
-
-
-
-
-
-
-
-
-
-
-
К этой группе относятся две операции:
shl - операция I shl J сдвигает содержимое I на J битов влево. Освободившиеся биты заполняются нулями.
Shr- операция I shr J сдвигает содержимое I на J битов вправо. Освободившиеся биты заполняются нулями.
Замечание При вводе данных с клавиатуры выполняются действия, пока не конец файла. Конец файла вводится с помощью клавиш Ctrl-Z (символ SUB, код 26). Код формируется как 90-64=26.
Дополнение
Операция
Действие
Тип операндов
Тип результата
not
отрицание
любой целый
тип операнда
and
логическое И
Любой целый
наименьший целый
or
логическое ИЛИ
любой целый
наименьший целый
xor
логическое исключающее ИЛИ
любой целый
наименьший целый
@
адрес
Любой
указатель
Унарная операция @ применяется к операнду любого типа и возвращает результат типа Pointer, в котором содержится адрес операции.
Если операция применяется к процедуре или функции или методу в объекте, то ее результатом будет адрес точки входа в эту процедуру (функцию, метод). Этот адрес можно использовать только в подпрограмме, написанной на ассемблере или фрагментах inline.