Operadores Bitwise Python [com exemplos]

Publicados: 2022-09-11

Os operadores bit a bit são fornecidos pela linguagem de programação Python para permitir que os programadores manipulem dados no nível mais básico – dando a eles muito mais controle sobre todas as variáveis.

Python é uma das linguagens de programação mais populares no mundo de hoje. A versatilidade do Python e o número de recursos que ele oferece são algumas das razões para sua crescente popularidade. Este artigo irá explorar os operadores bit a bit em Python, diferentes tipos de operadores bit a bit, seus usos e muito mais.

Índice

Visão geral dos operadores bit a bit do Python

Os operadores bit a bit têm a mesma aparência em diferentes linguagens de programação. O Python vem com vários tipos de operadores, como operadores aritméticos, lógicos e de comparação.

Operador Exemplo Significado
& a & b E bit a bit
| um | b OU bit a bit
^ a ^ b XOR bit a bit (OU exclusivo)
~ ~a NÃO bit a bit
<< um << n Deslocamento à esquerda bit a bit
>> a >> n Deslocamento à direita bit a bit

A maioria dos operadores bit a bit são binários, o que significa que eles precisam de dois operandos para trabalhar, normalmente chamados de operandos esquerdo e direito. Bitwise NOT (~) é o único operador bit a bit unário, pois precisa de apenas um operando.

Explore nossos cursos populares de ciência de dados

Programa Executivo de Pós-Graduação em Ciência de Dados do IIITB Programa de Certificação Profissional em Ciência de Dados para Tomada de Decisões de Negócios Mestre em Ciência de Dados pela Universidade do Arizona
Programa de Certificado Avançado em Ciência de Dados do IIITB Programa de certificação profissional em ciência de dados e análise de negócios da Universidade de Maryland Cursos de Ciência de Dados

O que são operadores Bitwise?

Os operadores bit a bit são um dos tipos de operadores usados ​​para realizar cálculos bit a bit em inteiros. Os inteiros são primeiro convertidos em binários e, em seguida, as operações são executadas bit a bit, daí o nome de operadores bit a bit. O resultado é então transformado em formato decimal. Esses operadores podem realizar cálculos apenas em números inteiros.

Confira nossas certificações em ciência de dados para se aprimorar.

A importância dos operadores bit a bit

Você provavelmente entendeu o que são operadores bit a bit, agora vamos nos concentrar na importância dos operadores bit a bit. Eles são melhores que os operadores aritméticos e eis por que você precisa usá-los:

  • Velocidade de execução

Operadores bit a bit são mais rápidos do que realizar multiplicação ou divisão. Se você precisar multiplicar uma variável x por, digamos, 9, você pode fazer (x<<3 + x) que seria alguns ciclos mais rápido que (x*9).

  • Verificação de erros

Os operadores bit a bit são usados ​​extensivamente para verificar erros. Se você estiver enviando alguns bits para outro computador em outro servidor, provavelmente haverá alguns erros. Você pode identificar esses erros usando operadores bit a bit.

Você provavelmente entende o uso e a importância dos operadores bit a bit, então, vamos entender os diferentes tipos de operadores bit a bit.

Diferentes tipos de operadores bit a bit

Operadores lógicos bit a bit

Os operadores bit a bit and, or e xor são operadores binários que possuem um operando esquerdo e direito. O operador bit a bit não é um operando unário que possui apenas um operando à direita. O tipo de resultado de todos os quatro operadores bit a bit são inteiros. Os operadores lógicos bit a bit examinam um bit de cada vez em seu operando antes e calculam o valor correspondente no resultado.

E bit a bit

O operador AND (&) é usado para executar um AND entre dois bits. Nesse caso, ambos os bits precisam ser verdadeiros para que a saída seja verdadeira. Se qualquer um dos bits for falso, a saída será falsa. Em outras palavras, se ambos os bits forem 1, ele retornará 1 senão 0.

1&1 = 1

1&0 = 0

0&0 = 0

0&1 = 0

Exemplo:

a = 10 = 1010 (binário)

b = 4 = 0100 (Binário)

a e b = 1010

&

0100

= 0000

= 0 (Decimal)

OU bit a bit

O operador OR (|) é usado para realizar a operação OR entre dois bits. Para que a saída seja verdadeira, um dos bits precisa ser verdadeiro. Ao contrário do operador (&), ambos os bits não precisam ser verdadeiros para que o resultado seja verdadeiro. Em outras palavras, o bit resultante é 0 se e somente se ambos os bits nas considerações forem 0, caso contrário o resultado for 1.

1 | 1 = 1

1 | 0 = 1

0 | 1 = 1

0 | 0 = 0

Exemplo:

a = 10 = 1010 (binário)

b = 4 = 0100 (Binário)

um | b = 1010

|

0100

= 1110

= 14 (Decimal)

NÃO bit a bit

O operador Bitwise NOT (~) é usado para retornar o complemento do número em Python. No entanto, o operador not é um operador muito simples e é usado para inverter o bit de 0 para 1 e de 1 para 0.

~13 (0b01101) = -14

~16 (0b010000) = -17

~31 (0b011111) = -32

Exemplo:

a = 10 = 1010 (binário)

~a = ~1010

= -(1010 + 1)

= -(1011)

= -11 (Decimal) Operador XOR bit a bit

O operador XOR (^) é usado para fazer XOR entre dois bits que estão em operação. A operação XOR é muito simples. Se dois bits são iguais, o bit resultante é 0 senão 1. É amplamente utilizado em cálculos lógicos para tornar o processo mais rápido.

1 ^ 1 = 0

1 ^ 0 = 1

0 ^ 1 = 1

0 ^ 0 = 0

Exemplo:

a = 10 = 1010 (binário)

b = 4 = 0100 (Binário)

a e b = 1010

^

0100

= 1110

= 14 (Decimal)

Operadores de turno

Esses operadores bit a bit são usados ​​para deslocar os bits de um número da esquerda para a direita, multiplicando ou dividindo o número por dois, respectivamente. Eles podem ser usados ​​quando temos que dividir ou multiplicar o número por dois.

Deslocamento à direita bit a bit

O operador direito (>>), como o nome sugere, desloca os bits para a direita para um número representado à direita do operador.

Leia nossos artigos populares de ciência de dados

Plano de carreira em ciência de dados: um guia abrangente de carreira Crescimento da carreira em ciência de dados: o futuro do trabalho está aqui Por que a ciência de dados é importante? 8 maneiras pelas quais a ciência de dados agrega valor aos negócios
Relevância da ciência de dados para gerentes A melhor folha de dicas de ciência de dados que todos os cientistas de dados deveriam ter 6 principais razões pelas quais você deve se tornar um cientista de dados
Um dia na vida do cientista de dados: o que eles fazem? Mito quebrado: a ciência de dados não precisa de codificação Business Intelligence vs Data Science: Quais são as diferenças?

Por exemplo – 10>>2 mudará (1010) para a direita em 2.

Exemplo 1:

a = 10 = 0000 1010 (Binário)

a >> 1 = 0000 0101 = 5

Exemplo 2:

a = -10 = 1111 0110 (Binário)

a >> 1 = 1111 1011 = -5

Deslocamento à esquerda bit a bit

O operador esquerdo (<<), como o nome sugere, desloca os bits para a esquerda para um número representado no lado direito do operador.

Por exemplo – 1<< 2 deslocará 1 para a esquerda para 2 valores.

Exemplo 1:

a = 5 = 0000 0101 (Binário)

a << 1 = 0000 1010 = 10

a << 2 = 0001 0100 = 20

Exemplo 2:

b = -10 = 1111 0110 (Binário)

b << 1 = 1110 1100 = -20

b << 2 = 1101 1000 = -40

Leia nossos artigos populares de ciência de dados

Plano de carreira em ciência de dados: um guia abrangente de carreira Crescimento da carreira em ciência de dados: o futuro do trabalho está aqui Por que a ciência de dados é importante? 8 maneiras pelas quais a ciência de dados agrega valor aos negócios
Relevância da ciência de dados para gerentes A melhor folha de dicas de ciência de dados que todos os cientistas de dados deveriam ter 6 principais razões pelas quais você deve se tornar um cientista de dados
Um dia na vida do cientista de dados: o que eles fazem? Mito quebrado: a ciência de dados não precisa de codificação Business Intelligence vs Data Science: Quais são as diferenças?

Conclusão

Ter uma boa compreensão dos operadores bit a bit do Python ajudará você a manipular dados binários em seus projetos. Agora você entende o básico dos operadores bit a bit e sua sintaxe e os tipos de dados que os suportam. Você também pode personalizar o comportamento deles para suas próprias necessidades.

Se você está ansioso para aprender e expandir seu conhecimento sobre python e operadores bit a bit, confira o Programa de Certificação Profissional da UpGrad e da Universidade de Maryland em Ciência de Dados e Análise de Negócios , que é criado para profissionais que oferecem mais de 20 estudos de caso e tarefas que podem ser adicionado ao seu portfólio, mais de 100 horas de sessões ao vivo, mais de 400 horas de aprendizado com assistência de trabalho das principais empresas.

Onde os operadores bit a bit são usados?

Os operadores bit a bit podem ser usados ​​para manipular bits individuais de um número. Em Python, os operadores bit a bit realizam cálculos bit a bit em inteiros. Primeiro, os inteiros são convertidos em binários e, em seguida, as operações são executadas em pequenos pedaços - é assim que os operadores bit a bit receberam seu nome. Os operadores bit a bit do Python são usados ​​exclusivamente em números inteiros, retornando resultados em formato decimal.

O que é um operador de operando único?

Os operadores aritméticos realizam operações matemáticas como adição e subtração com operandos. Unário e binário são as duas categorias de operadores matemáticos. Os operadores unários executam uma função com um único operando, por exemplo: Bitwise NOT (~), enquanto os operadores binários usam dois operandos.

Por que precisamos de operadores bit a bit?

Os operadores bit a bit são uma ótima maneira de usar o espaço com eficiência ao representar dados. Esses operadores são necessários ao operar em dados fornecidos pelo hardware onde um bit específico em um mundo é significativo. Os operadores bit a bit são necessários para economizar memória. Compactar dados em bits em vez de palavras economiza memória e, muitas vezes, você pode ter grandes quantidades de dados e quantidades limitadas de memória.