Архив метки: битовые операторы

Логические операторы в С++

С++Логические операторы в С++

В языке Си результатом логической операции служит целое число,
любое целое число, не равное 0, интерпретируется как истина;

 

Пример

int a=1;
if (a-1) a++;

Логические операторы

&& — логическое И
|| — логическое ИЛИ
! — отрицание
Пример

if (a>0)&&(a<10) a++;
if (!(a>0)) a++;
if (a>0)||(a<10) a++;

Поразрядные (битовые) логические операторы:

& ( или and ),
| ( или OR ),
^ ( или XOR ),
— ( или NOT ),
<< сдвиг влево,
>> сдвиг вправо.
Пример

Пусть a=a & 127;
    Тогда,
если a=65, т.е.   11000001
и число 127 есть  01111111
В итоге будет     01000001

Если соответствующие разряды одинаковы, то в результате имеем 1, иначе имеем 0. Так работает операция «and» или логическое умножение.

Аналогично работают другие битовые логические операторы.