Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Praktikum_po_programmirovaniyu.doc
Скачиваний:
23
Добавлен:
09.12.2018
Размер:
2.5 Mб
Скачать

2.3. Операции побитовой обработки

Кроме арифметических операций к целым типам применимы операции побитовой обработки.

Арифметическое И (AND) производит логическое умножение операндов в соответствии со следующей таблицей истинности:

18

Исходные операнды записываются в десятичном виде, во время исполнения переводятся в двоичную систему, результат представляется в десятичном виде.

Пример. Вычислить 21 AND 22 при использовании двухбайтового представления целого числа.

Двоичное представление

А = 21

0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1

B = 22

0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0

A AND B =20

0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 0

Логическое сложение (OR) выполняет операцию сложения в соответствии со следующей таблицей истинности:

Пример. Вычислить 21 OR 22.

Двоичное представление

А = 21

0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1

B = 22

0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0

A OR B =23

0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 1

Исключающая дизъюнкция XOR (исключающее ИЛИ) производит сложение операндов в соответствии со следующей таблицей истинности:

Пример. Вычислить 21 XOR 22

Двоичное представление

А = 21

0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1

B = 22

0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0

A XOR B = 3

0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1

19

Операция NOT является унарной операцией и осуществляет побитовую инверсию двоичного кода. Пример. Вычислить NOT 17.

Двоичное представление

А = 17

0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1

NOT 17 = -18

1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0

Операция SHL (A shl N) выполняет побитовый сдвиг содержимого переменной A на N позиций влево и эквивалентна умножению числа A на .

Операция SHR (A shr N) выполняет побитовый сдвиг переменной A на N позиций вправо и эквивалентна целочисленному делению числа A на .

Пример. Вычислить 156 shl 2.

Двоичное представление

А = 156

0 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0

A SHL 2 = 624

0 0 0 0 0 0 1 0 0 1 1 1 0 0 0 0

Эквивалентная операция: .

Пример. Вычислить 156 shr 2.

Двоичное представление

А = 156

0 0 0 0 0 0 0 0 1 0 0 1 1 1 0 0

A SHR 2 = 39

0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1

Эквивалентная операция: .

Операции SHL и SHR используются для сокращения времени выполнения программы, поскольку соответствующие им команды процессора выполняются наиболее быстро. По этой же причине часто для присвоения переменной A нулевого значения используется операция A XOR А.

20