Operações de bits
Todos os números na memória do computador são armazenados em formato binário, ou seja, como uma sequência de 0 e 1. 
Para armazenar números na memória do computador, um número finito de dígitos é usado. Por causa disso, os números em um computador têm um alcance limitado e os resultados dos cálculos podem ser imprecisos.
Um inteiro pode ser armazenado em 8, 16, 32 ou 64 bits de memória. Cada bit adicional expande o intervalo de valores possíveis em 2. 
As operações com números positivos e negativos são realizadas no processador usando os mesmos algoritmos.
Com a ajuda de operações lógicas bit a bit, você pode controlar bits individuais dos registradores do processador e dispositivos externos. 
 
| Operação Python | 
Destino | 
a & b | 
Bitwise E para a e b | 
| a | b | 
Bitwise OR para a e b | 
a ^ b | 
X OU para a e b | 
~a | 
Inversão de bit para a | 
a << b | 
Deslocamento bit a bit à esquerda de a para b | 
a >> b | 
Deslocamento bit a bit à direita de a para b | 
Operação E
Usando a 
operação "AND" você pode redefinir (definir como zero) os bits para os quais a máscara é 0! 
 
Máscara – uma constante que define o escopo da operação lógica nos bits de um número de vários bits.
D - dados, 
M - máscara
Operação OU
A 
operação "OR" pode ser usada para escrever um 1 nos bits para os quais a máscara é 1!
Operação exclusiva OU
Usando a 
operação "XOR" você pode inverter bits para os quais a máscara é 1!
Deslocar para a esquerda
Um deslocamento lógico (bit a bit) 
à esquerda em 1 bit duplica um número inteiro positivo.
Deslocar para a direita
Booleano (bit a bit) .
deslocar 1 para a direita  divide um inteiro positivo por 2.
Uma vez que um deslocamento à direita define o bit de sinal em posições vagas, o sinal de 
x pode ser determinado deslocando à direita todo o comprimento da variável.