Побитовые операции
1. Побитовые операции.
В Си имеются шесть операторов для манипулирования с битами. Их можно применять только к целочисленным операндам, то есть к операндам типов char, short, int и long, знаковым и беззнаковым.
& -побитовое И
| -побитовое ИЛИ
^ -побитовое исключающее ИЛИ
<< -сдвиг влево
>> -сдвиг вправо
~ побитовое отрицание(унарный)
Оператор & часто используется для обнуления некоторой группы разрядов. Например
Рекомендуемые материалы
n=n & 0177;
обнуляет в n все разряды, кроме младших семи.
Оператор | применяют для установки разрядов; Например
x=x | SET_ON;
"Логические функции" - тут тоже много полезного для Вас.
устанавливает единицы в тех разрядах x, которым соответствуют единицы в SET_ON.
Оператор ^ в каждом разряде установит 1, если соответствующие разряды операндов имеют различные значения, и 0, когда они совпадают.
Операторы << и >> сдвигают влево или в право свой левый операнд на число битовых позиций, задаваемое правым операндом, который должен быть неотрицательным. Так, x <<2 сдвигает х влево на 2 позиции, заполняя освобождающиеся биты нулями, что эквивалентно умножению х на 4.Сдвиг вправо беззнаковой величины всегда сопровождается заполнением освобождающихся разрядов нулями.
Унарный оператор ~ поразрядно “обращает” целое т.е. превращает единичный бит в нулевой и наоборот. Например
х = х & ~077
обнуляет в х последние 6 разрядов.