O que você precisa saber sobre os operadores Bitwise do Python? [Explicado com exemplos]
Publicados: 2021-10-06Os 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