Установка n-ого бита в единицу
```
x | (1<<n)
```
Обнуление n-ого бита
```
x & ~(1<<n)
```
Переключение n-ого бита
```
x ^ (1<<n)
```
Умножение на 2
```
n << 1
```
Деление на 2
```
n >> 1
```
Умножение на m-тую степень 2
```
n << m
```
Деление на m-тую степень 2
```
n >> m
```
Проверка на равенство
```
(a^b) == 0
```
Проверка на чётность
```
(n & 1) == 1
```
Вычисление 2^n
```
2 << (n-1)
```
Проверка на степень 2
```
n > 0 && (n & (n - 1)) == 0
```
Остаток от деления 2^n на m
```
m & (n - 1)
```
Среднее арифметическое
```
(x + y) >> 1
```
Получение m-ого бита n (справа налево)
```
(n >> (m-1)) & 1
```
Установка m-ого бита n (справа налево)
```
n & ~(1 << (m-1))
```
Выделение самой правой 1
```
x & (-x)
```
Выделение самого правого 0
```
~x & (x+1)
```
Смена самого правого 0 на 1
```
x | (x+1)
```
Проверка на одинаковый знак
```
(x ^ y) >= 0
```