Considere x = 1 e y = 0
Tabela de Operações Bit a Bit
| Operação | Descrição | Resultado |
|---|---|---|
| AND (x & y) | A operação AND retorna 1 apenas se ambos os bits forem 1. | 0001 & 0000 = 0000 → 0 |
| OR (x | y) | A operação OR retorna 1 se pelo menos um dos bits for 1. | 0001 | 0000 = 0001 → 1 |
| XOR (x ^ y) | A operação XOR retorna 1 se os bits forem diferentes. | 0001 ^ 0000 = 0001 → 1 |
| NOT (~x) | A operação NOT inverte todos os bits de x. | ~0001 = 1110 → -2 (complemento de 2) |
| Shift Left (x << 1) | Desloca os bits de x uma posição para a esquerda (multiplica por 2). | 0001 << 1 = 0010 → 2 |
| Shift Right (x >> 1) | Desloca os bits de x uma posição para a direita (divide por 2). | 0001 >> 1 = 0000 → 0 |
Explicações:
- AND (x & y):
- O operador AND compara os bits de
xey. Ele retorna 1 apenas se ambos os bits forem 1. - Resultado:
1 & 0 = 0.
- OR (x | y):
- O operador OR compara os bits de
xey. Ele retorna 1 se pelo menos um dos bits for 1. - Resultado:
1 | 0 = 1.
- XOR (x ^ y):
- O operador XOR compara os bits de
xey. Ele retorna 1 se os bits forem diferentes. - Resultado:
1 ^ 0 = 1.
- NOT (~x):
- O operador NOT inverte todos os bits de
x. Em Python, o resultado será um número negativo, pois o complemento de 2 é usado para representar números negativos. - Resultado:
~1 = -2.
- Shift Left (x << 1):
- O operador de deslocamento para a esquerda move os bits de
xuma posição para a esquerda, o que equivale a multiplicar o número por 2. - Resultado:
1 << 1 = 2.
- Shift Right (x >> 1):
- O operador de deslocamento para a direita move os bits de
xuma posição para a direita, o que equivale a dividir o número por 2. - Resultado:
1 >> 1 = 0.
>>> 8 << 2 #same as multiply by 4
32
>>> 8 >> 2 #same as divide by 4
2
>>>
Deixe um comentário
Você precisa fazer o login para publicar um comentário.