Поразрядные операции в C++ работают с данными на уровне отдельных битов. intuit.ru docode.ru Они используются только с целыми типами данных разных вариаций (int, short, long, unsigned char, unsigned int, unsigned long int и другие). intuit.ru
Некоторые поразрядные операции и их описание:
- & (поразрядное И). intuit.ru Бит результата устанавливается в 1, если соответствующие биты обоих операндов равны 1. intuit.ru
- | (поразрядное ИЛИ). intuit.ru Бит результата устанавливается в 1, если соответствующий бит хотя бы одного операнда равен 1. intuit.ru
- ^ (поразрядное исключающее ИЛИ). intuit.ru Бит результата устанавливается в 1, если соответствующий бит одного и только одного операнда равен 1. intuit.ru
- ~ (поразрядное НЕ). intuit.ru Унарная операция, которая применяется только к одному операнду. intuit.ru Меняет каждый бит с 1 на 0 и наоборот. intuit.ru
- << (поразрядный сдвиг влево). intuit.ru Сдвигает биты первого операнда влево на количество позиций, заданных вторым операндом. intuit.ru При этом освобождающиеся справа биты заполняются нулями. intuit.ru
- >> (поразрядный сдвиг вправо). intuit.ru Сдвигает биты первого операнда вправо на количество позиций, заданных вторым операндом. intuit.ru При этом освобождающиеся слева биты заполняются нулями. intuit.ru