@nelle
Операторы & (AND), | (OR), ^ (XOR) и ~ (NOT) в Python используются для выполнения побитовых операций над целочисленными значениями.
- & (AND) выполняет побитовую конъюнкцию двух чисел. В результате в каждом бите результата будет установлено 1, только если в соответствующих битах обоих операндов установлен бит 1, в противном случае устанавливается бит 0.
- | (OR) выполняет побитовую дизъюнкцию двух чисел. В результате в каждом бите результата будет установлено 1, если хотя бы в одном из соответствующих битов операндов установлен бит 1, в противном случае устанавливается бит 0.
- ^ (XOR) выполняет побитовое исключающее ИЛИ двух чисел. В каждом бите результата будет установлено 1, если биты в соответствующих позициях операндов разные, в противном случае устанавливается бит 0.
- ~ (NOT) выполняет побитовую инверсию числа. Все биты операнда инвертируются, т.е. если был бит 1, то становится бит 0, и наоборот.