Ну да.
&& и || Это логические операции. Они применяются для всего числа в целом, при этом если оно равно 0, то это лог. 0, а если больше 0, то это лог. 1
Пример:
0b11111101 && 0b11111000 = 1
0b11111101 && 0b00000000 = 0
0b00000000 && 0b00000000 = 0
0b11111101 || 0b11111000 = 1
0b11111101 || 0b00000000 = 1
0b00000000 || 0b00000000 = 0
&, |, ^ - это побитывые операции. Они применяются для каждого бита в числе.
Пример:
0b11111101 & 0b11111010 = 0b11111000
0b11111101 | 0b11111000 = 0b11111101
0b11111100 ^ 0b11111010 = 0b00000010
Применение:
Оператор & можно использовать для установки лог. 0 на определённых битах, при этом в тех местах где надо установить лог. 0 надо установить лог. 0, а во всех других лог. 1.
Принцип: Когда применяется операция И к исходному биту и 0, то какой бы бит небыл бы в исх. состоянии 0 или 1 он всегда меняется на 0:
1 И 0 = 0
0 И 0 = 0
А если к исх. биту применяется 1 то какой бы небыл исх. бит он остаётся в прежнем состоянии:
1 И 1 = 1
0 И 1 = 0
Пример:
Переменная X=0b00110100
Нужно устоновит 1,3,6 биты в лог. 0. Ставим:
X&=0b11011010;
Теперь X=0b00010000
Оператор | можно использовать для установки лог. 1 на определённых битах, при этом в тех местах где надо установить лог. 1 надо установить лог. 1, а во всех других лог. 0.
Принцип: Когда применяется операция ИЛИ к исходному биту и 0, то какой бы бит небыл бы в исх. состоянии 0 или 1 он остаётся в прежнем состоянии:
1 ИЛИ 0 = 1
0 ИЛИ 0 = 0
А если к исх. биту применяется 1 то какой бы небыл исх. бит он всегда меняется на лог. 1:
1 ИЛИ 1 = 1
0 ИЛИ 1 = 1
Пример:
Переменная X=0b00110100
Нужно устоновит 1,3,6 биты в лог. 1. Ставим:
X&=0b00100101;
Теперь X=0b00110101
Ну а оператор ^ можно использовать для сравнения, например, а можно ещё инвертировать значения в определённых битах

при этом в тех местах где надо инвертировать бит надо установить лог. 1, а во всех других лог. 0.
Принцип: Когда применяется операция Иск. ИЛИ к исходному биту и 0, то какой бы бит небыл бы в исх. состоянии 0 или 1 он остаётся в прежнем состоянии:
1 Иск. ИЛИ 0 = 1
0 Иск. ИЛИ 0 = 0
А если к исх. биту применяется 1 то он инвертируется:
1 Иск. ИЛИ 1 = 0
0 Иск. ИЛИ 1 = 1
Пример:
Переменная X=0b00110100
Нужно инвертировать 1,3,6 биты. Ставим:
X&=0b00100101;
Теперь X=0b00010001
Вот.
