RHCSA, RHCE, Linux, Ansible, AWS

Exercício de Laboratório: Operações Bit a Bit


Neste exercício, vamos explorar as operações bit a bit (bitwise) em Python. As operações bit a bit manipulam os bits individuais de números binários, permitindo realizar operações de baixo nível de forma eficiente.

Objetivo:

Passos:

  1. Converter os números 9 e 23 para binário.
  2. Realizar as operações bit a bit.
  3. Analisar os resultados de cada operação.

1. Conversão de Números para Binário

Primeiro, vamos converter os números 9 e 23 para binário.

Como os números têm tamanhos diferentes, vamos padronizá-los para 5 bits adicionando zeros à esquerda do número 9:

Agora podemos aplicar as operações bit a bit.


2. Operações Bit a Bit

AND (a & b)

A operação AND retorna 1 apenas quando ambos os bits de a e b forem 1. Caso contrário, retorna 0.

a (9)0 1 0 0 1
b (23)1 0 1 1 1
a & b0 0 0 0 1

Resultado de 9 & 23 = 1 (em decimal)


OR (a | b)

A operação OR retorna 1 quando pelo menos um dos bits de a ou b for 1.

a (9)0 1 0 0 1
b (23)1 0 1 1 1
**ab**

Resultado de 9 | 23 = 31 (em decimal)


XOR (a ^ b)

A operação XOR retorna 1 quando os bits de a e b são diferentes. Se os bits forem iguais, retorna 0.

a (9)0 1 0 0 1
b (23)1 0 1 1 1
a ^ b1 1 1 1 0

Resultado de 9 ^ 23 = 30 (em decimal)


NOT (~a)

A operação NOT inverte todos os bits de a. Em Python, isso resultará no complemento de 2, ou seja, o número negativo equivalente.

a (9)0 1 0 0 1
~a (NOT)1 0 1 1 0

Resultado de ~9 = -10 (em decimal)


Shift Left (a << 1)

O deslocamento para a esquerda move todos os bits de a uma posição para a esquerda, preenchendo com 0 à direita. Isso equivale a multiplicar o número por 2.

a (9)0 1 0 0 1
a << 11 0 0 1 0

Resultado de 9 << 1 = 18 (em decimal)


Shift Right (a >> 1)

O deslocamento para a direita move todos os bits de a uma posição para a direita, descartando o bit mais à direita. Isso equivale a dividir o número por 2.

a (9)0 1 0 0 1
a >> 10 0 1 0 0

Resultado de 9 >> 1 = 4 (em decimal)


3. Resumo dos Resultados

OperaçãoResultado (Binário)Resultado (Decimal)
AND (9 & 23)000011
**OR (923)**11111
XOR (9 ^ 23)1111030
NOT (~9)10110-10
Shift Left (9 << 1)1001018
Shift Right (9 >> 1)001004

4. Conclusão

Neste exercício, exploramos as operações bit a bit AND, OR, XOR, NOT, e as operações de deslocamento (Shift Left e Shift Right) entre os números 9 e 23. Essas operações são fundamentais para a manipulação eficiente de dados em baixo nível e são frequentemente usadas em programação de sistemas e otimização de código.

Reflexão: A compreensão das operações bit a bit é importante quando trabalhamos com algoritmos e estruturas de dados de baixo nível, especialmente em áreas como manipulação de hardware, criptografia, compressão de dados, e programação de sistemas.


Desafio

Tente realizar as operações bit a bit entre outros números, como 5 e 12.

Avatar de temweb

Sobre o autor

Categorias:

Deixe um comentário