Побитовые логические операции

Побитовые логические операции — это &, |, А и ~. Результаты выполнения каждой из этих операций приведены в табл. 4.3. В ходе,ознакомления с последующим материалом помните, что побитовые операции применяются к каждому отдельному биту каждого операнда. Таблица 4.3. Результаты выполнения побитовых логических операций
A B A|B A&B A^B ~A
0 0 0 0 0 1
1 0 1 0 1 0
0 1 1 0 1 1
1 1 1 1 0 0

Побитовое NOT

Называемая также операцией побитового дополнения, унарная операция NOT (НЕ), ~, инвертирует все биты операнда. Например, число 42, которое имеет следующую последовательность битов:

00101010

в результате применения операции NOT преобразуется в:

11010101

Побитовое AND

Значение бита, полученное в результате побитовой операции AND, &, равно 1, если соответствующие биты в операндах также равны 1. Во всех остальных случаях значение результирующего бита равно 0. Например:

  00101010 42
& 00001111 15
-------------
  00001010 10

Побитовое OR

Результирующий бит, полученный в результате выполнения операции OR, |, равен 1, если соответствующий бит в любом из операторов равен 1, как показано в следующем примере:

  00101010 42
| 00001111 15
-------------
  00101111 47

Побитовое XOR

Результирующий бит, полученный в результате выполнения операции XOR, А, равен 1, если соответствующий бит только в одном из операндов равен 1. Во всех других случаях результирующий бит равен 0. В следующем примере показано применение операции Л. Он демонстрирует также полезную особенность операции XOR. Обратите внимание на инвертирование последовательности битов числа 42 во всех случаях, когда второй операнд содержит бит, равный 1. Во всех случаях, когда второй операнд содержит бит, равный 0, значение первого операнда остается неизменным. Это свойство пригодится при выполнении некоторых операций с битами.

  00101010 42
^ 00001111 15
-------------
  00100101 37