O que você precisa saber sobre os operadores Bitwise do Python? [Explicado com exemplos]

Publicados: 2021-10-06

Os sistemas de computador representam, armazenam e transmitem dados como um fluxo de dígitos binários chamados bits. 'Binário' significa que só pode haver dois valores possíveis, 0 e 1, e cada um desses dígitos binários é conhecido como 'bit'. Quer você trabalhe com texto, números decimais, imagens, sons ou vídeos, o software de computador traduz as informações em código binário composto de 0s e 1s. Muitas vezes referida como linguagem de máquina, a informação binária é o nível mais fundamental de informação que um sistema de computador armazena.

Os operadores bit a bit em Python nos permitem manipular bits individuais de dados no nível mais básico. Em outras palavras, os operadores bit a bit em Python são usados ​​para realizar cálculos bit a bit em valores inteiros. Assim, os valores inteiros são primeiro convertidos em forma binária e, em seguida, as operações bit a bit são executadas. Depois que as 'operações bit a bit' são feitas, os resultados são retornados em formato decimal. Os operadores bit a bit em Python funcionam apenas em números inteiros. Aprimorar-se com programas de ciência de dados ajudará você a superar os desafios. Vamos falar mais sobre mineração de texto.

Agora, vamos explorar os operadores bit a bit do Python com mais detalhes, os tipos, como eles funcionam e exemplos.

Índice

Operadores bit a bit em Python

Python inclui seis operadores para realizar operações lógicas bit a bit em inteiros.

A seguir estão os diferentes operadores bit a bit em Python com sua sintaxe e uma descrição do que cada um faz.

Operador

Sintaxe

Descrição

E bit a bit

a & b

O operador retorna 1 se ambos os bits nos operandos forem 1. Else retorna 0.

OU bit a bit

um | b

O operador retorna 1 se um dos bits nos operandos for 1. Else retorna 0.

NÃO bit a bit

~a

Um operador unário bit a bit que executa a negação lógica de um determinado número invertendo todos os seus bits. Aritmeticamente, é expresso como subtraindo valores de bits individuais de um (~ai = 1 – ai).

XOR bit a bit

a ^ b

O operador retorna 1 se um par de bits contém valores de bits opostos. Caso contrário, retorna 0.

Deslocamento à esquerda bit a bit

um <<

O operador desloca os bits de seu primeiro operando para a esquerda pelo número de casas definidas no segundo operando. Além disso, o operador adiciona 0s suficientes para preencher a lacuna que se forma no lado direito do novo padrão de bits.

Deslocamento à direita bit a bit

a >>

O operador empurra os bits para a direita pelo número especificado de casas. Assim, os bits mais à direita são sempre descartados.

Operadores bit a bit em Python com exemplos

Com a descrição básica de cada operador bit a bit em mente, vejamos alguns exemplos para esclarecer melhor o conceito.

1. E bit a bit (&)

Retorna 1 se ambos os bits forem 1. Else retorna 0.

  • Exemplo 1

a = 24 = 11000 (Binário)

b = 4 = 00100 (Binário)

a e b = 11.000

&

00100

= 00000

= 0 (Decimal)

  • Exemplo #2

a = 10 = 1010 (binário)

b = 2 = 0010 (binário)

a e b = 1010

&

0010

= 0010

= 2 (Decimal)

2. OU bit a bit ( | )

Retorna 1 se um dos bits for 1. Else retorna 0.

  • Exemplo 1

a = 67 = 1000011 (Binário)

b = 54 = 0110110 (Binário)

um | b = 1000011

|

0110110

= 1110111

= 119 (Decimal)

  • Exemplo #2

a = 6 = 000110 (Binário)

b = 34 = 100010 (binário)

um | b = 000110

|

100010

= 100110

= 38 (Decimal)

3. Bit a bit NÃO (~)

Retorna o complemento de 1 do bit (inverte o bit).

  • Exemplo 1

a = 60 = 111100 (Binário)

~a = ~111100

= 000011

= 3 (Decimal)

  • Exemplo #2

a = 33 = 100001 (Binário)

~a = ~100001

= 011110

= 30 (Decimal)

4. XOR bit a bit (^)

Retorna 1 se ambos os bits tiverem valores opostos. Caso contrário, retorna 0.

  • Exemplo 1

a = 61 = 0111101 (Binário)

b = 90 = 1011010 (binário)

a ^ b = 0111101

^

1011010

= 1100111

= 103 (Decimal)

  • Exemplo #2

a = 2 = 000010 (Binário)

b = 55 = 110111 (Binário)

a ^ b = 000010

^

110111

= 110101

= 53 (Decimal)

5. Deslocamento à esquerda bit a bit (<<)

Desloca os bits para a esquerda e preenche as lacunas formadas à direita com 0.

  • Exemplo 1

a = 39 = 100111 (Binário)

a << 1 = 1001110 = 78 (Decimal)

a << 2 = 10011100 = 156 (Decimal)

a << 3 = 100111000 = 312 (Decimal)

  • Exemplo #2

b = 74 = 1001010 (Binário)

b << 1 = 10010100 = 148 (Decimal)

b << 2 = 100101000 = 296 (Decimal)

b << 3 = 1001010000 = 592 (Decimal)

6. Merda direita bit a bit (>>)

Desloca os bits para a direita e preenche as lacunas formadas à esquerda com 0.

  • Exemplo 1

a = 157 = 10011101 (Binário)

a >> 1 = 1001110 = 78 (Decimal)

a >> 2 = 100111 = 39 (Decimal)

a >> 3 = 10011 = 19 (Decimal)

  • Exemplo #2

b = 89 = 1011001 (binário)

b >> 1 = 101100 = 44 (Decimal)

b >> 2 = 010110 = 22 (Decimal)

b >> 3 = 001011 = 11 (Decimal)

Operadores bit a bit em Python (exemplos com código)

A seguir estão alguns trechos de código simples para ilustrar os operadores bit a bit em Python:

1. E, OU, NÃO e XOR bit a bit

Fonte

Fonte

2. Operadores de deslocamento bit a bit

Fonte

Fonte

Caminho a seguir: Domine as habilidades em Python com o Programa de Certificação Profissional do upGrad em Ciência de Dados

Você é um aspirante a Gerente de Negócios com quase nenhuma experiência em codificação? Então o upGrad oferece a você o Programa de Certificação Profissional em Ciência de Dados para Tomada de Decisões de Negócios.

O Programa de Certificação Profissional em Ciência de Dados foi especialmente desenvolvido para gerentes e profissionais que desejam desenvolver as habilidades e conhecimentos práticos em ciência de dados fundamental. O rigoroso programa on-line de 8 meses se concentra em problemas de ciência de dados, algoritmos e como os dados podem ser apresentados para tomar importantes decisões de negócios. A grade curricular contempla os seguintes cursos:

  • Conteúdo preparatório do pré-programa
  • Solução de problemas de negócios, insights e narrativa
  • Estatística e aprendizado de máquina
  • Estratégia
  • Projeto Capstone
  • Introdução ao Python (módulo opcional)

Confira os principais destaques do programa:

  • Certificação globalmente reconhecida do IIM Kozhikode
  • Mais de 200 horas de conteúdo, mais de 20 sessões de aprendizado ao vivo, mais de 5 sessões de treinamento especializado
  • 3 projetos da indústria e uma pedra angular
  • Cobertura abrangente de Excel, Python, Tableau, R e Power BI
  • Suporte de carreira 360 graus
  • One-on-one com mentores da indústria
  • Auxílio emprego nas principais empresas
  • Oportunidades de networking do setor

Conclusão

Python é uma linguagem de programação poderosa, versátil e fácil de usar, tornando-se uma escolha popular entre especialistas e iniciantes. Além disso, o Python ainda é a linguagem de programação preferida entre os desenvolvedores devido à sua eficiência, versatilidade, confiabilidade e velocidade. Ele pode ser usado em quase todos os tipos de ambientes e plataformas sem perda significativa de desempenho. Além disso, o Python alimenta a maior parte das cargas de trabalho de processamento de dados em muitas organizações. A facilidade de análise de dados que o Python oferece o torna útil para muitos aplicativos, incluindo projetos de aprendizado de máquina.

O Python é, sem dúvida, útil para lidar com processos críticos de negócios, pois constitui um aspecto fundamental da ciência de dados. Além disso, à medida que o Big Data se expande e mais e mais empresas se concentram em tomar decisões orientadas por dados, a importância do Python não pode ser prejudicada. Portanto, se você deseja dominar o Python e aplicar suas habilidades em cenários de negócios orientados por dados, inscreva-se no upGrad para aprender com os melhores do setor!

Para que são usados ​​os operadores bit a bit?

Operadores bit a bit em Python são usados ​​para realizar cálculos bit a bit em valores inteiros. Para isso, primeiro os inteiros são transformados em binários e, em seguida, são realizadas diversas operações, bit a bit, retornando o resultado em formato decimal. Em Python, os operadores bit a bit podem ser usados ​​apenas em números inteiros.

Os operadores bit a bit são rápidos?

Em um processador simples e de baixo custo, os operadores bit a bit são normalmente mais rápidos do que a divisão, a multiplicação e, muitas vezes, substancialmente mais rápidos do que a adição. Em geral, os operadores bit a bit usam menos recursos e, portanto, usam significativamente menos energia.

Qual é o uso de operadores lógicos em Python?

Python tem três operadores lógicos que permitem comparar valores. Os três operadores lógicos AND, OR e NOT avaliam expressões para valores booleanos e retornam True ou False com base no resultado do operador. Abaixo estão os três operadores lógicos em Python:

1. AND ( a e b): Verdadeiro se ambas as expressões forem verdadeiras
2. OR (a ou b): Verdadeiro se pelo menos uma expressão for verdadeira
3. NOT (não a): Verdadeiro somente se a expressão for falsa