Операции сдвига, отношения и поразрядные в С++

Операции сдвига: << и >>

Применяют к целочисленным операндам.

Сдвигают двоичное представление первого операнда влево или вправо на количе­ство двоичных разрядов, заданное вторым операндом. При сдвиге влево << освободившиеся разряды обнуляются. При сдвиге вправо >> освободившиеся биты заполняются нулями, если первый операнд без знакового типа, и знаковым разрядом в противном случае.

Операции сдвига не учитывают переполнение и потерю значимости.

Операции отношения: <, <=, >, >=, =, !=

Сравнивают первый операнд со вторым.

Операнды могут быть арифметического типа или указателями.

Результат - значение true или false (любое значение, не равное нулю, интерпретируется как true).

Операции сравнения на равенство и неравенство имеют меньший приоритет, чем остальные операции сравнения.

Поразрядные операции &, |, ^

Применяются к целочисленным операндам, работают с их двоичными представлениями.

Операнды сопоставляются побитово (первый бит первого операнда с первым битом второго, второй со вторым битом, и т д.).

Поразрядная конъюнкция & (И): бит результата равен 1 тогда, когда соответствующие биты обоих операндов равны 1.

Поразрядная дизъюнкция | (ИЛИ): бит результата равен - 1, если соответствующий бит хотя бы одного из операндов равен 1.

Поразрядное исключающее ^ (ИЛИ): бит результата равен 1, если соответствующий бит только одного из операндов равен 1.

Пример. Поразрядные операции.
#include 
int main(){ 
cout << "\n 6 & 5 = " << (6 & 5);
cout << "\n 6 | 5 = " << (6 | 5);
cout << "\n 6 ^ 5 = " << (6 ^ 5);
return 0;
} 
Результат работы:
6 & 5 = 4 
6 | 5 = 7 
6 ^ 5 = 3 
Онлайн всего: 32
Гостей: 32
Пользователей: 0

STUDLAB Сообщить про опечатку на сайте