AND, OR, XOR e Deslocamentos
Leia e combine bits com confiança.
AND, OR, XOR e Deslocamentos é uma aula grátis de Competitive Programming Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Competitive Programming Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Competitive Programming Academy inclui 4 aulas no total.
Os bits são suas ferramentas
Todo inteiro é, na verdade, uma sequência de bits, apenas 0s e 1s. Aprender a lê-los e combiná-los oferece truques rápidos e inteligentes para competições. 🔧
Veja o binário
Use bin() do Python para observar os bits de qualquer número. O prefixo 0b apenas indica que o número está em binário; o restante é o padrão de bits.
print(bin(13)) # 0b1101AND mantém os bits comuns
O operador AND (&) fornece 1 somente onde os dois números têm 1. Ele é perfeito para verificar ou mascarar bits compartilhados.
print(6 & 3) # 0b110 & 0b011 = 0b010 = 2OR combina os bits
O operador OR (|) fornece 1 sempre que qualquer um dos números tiver 1. Use-o para ativar sinalizadores sem alterar o restante.
print(6 | 1) # 0b110 | 0b001 = 0b111 = 7XOR identifica diferenças
O operador XOR (^) fornece 1 onde os dois bits são diferentes. Ele é muito usado em competições para alternar bits e encontrar o elemento que aparece uma única vez.
print(6 ^ 3) # 0b110 ^ 0b011 = 0b101 = 5XOR se anula
Um número XOR ele mesmo é sempre 0, e XOR com 0 não o altera. Essa propriedade de autoanulação é a base de muitos problemas com XOR.
print(7 ^ 7) # 0
print(7 ^ 0) # 7Encontre o número único
Se cada valor aparecer duas vezes, exceto um, aplique XOR a todos eles, e os pares desaparecerão. O que permanecer será o valor único.
ans = 0
for x in [4, 1, 2, 1, 2]:
ans ^= x
print(ans) # 4O deslocamento à esquerda multiplica
Um deslocamento à esquerda move os bits para posições mais altas, adicionando zeros à direita. Cada deslocamento de uma posição dobra o valor, como uma multiplicação por uma potência de dois.
print(3 << 2) # 3 * 4 = 12O deslocamento à direita divide
Um deslocamento à direita remove bits da extremidade direita. Cada deslocamento de uma posição divide o valor pela metade, realizando uma divisão inteira por uma potência de dois.
print(20 >> 2) # 20 // 4 = 5Crie uma potência de dois
Deslocar 1 para a esquerda em k posições cria instantaneamente o valor 2 elevado a k. Essa é a maneira mais simples de criar máscaras de um único bit.
print(1 << 5) # 32A velocidade importa nas competições
Os operadores bit a bit executam em uma única etapa rápida, portanto substituir aritmética por deslocamentos pode fazer você cumprir um limite de tempo apertado. Domine-os completamente. ⚡
Verificação rápida
É hora de testar seus operadores de bits.
Revisão: operadores de bits
Você conheceu AND, OR, XOR e os deslocamentos: combine, alterne e dimensione bits em uma única etapa rápida. Esses são os blocos fundamentais de todos os truques de bits que virão. 🎉
Perguntas Frequentes
A aula “AND, OR, XOR e Deslocamentos” é grátis?
Sim — o texto completo de “AND, OR, XOR e Deslocamentos” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Competitive Programming Academy, atualize para CoddyKit PRO. O curso de Competitive Programming Academy inclui 4 aulas no total.
O que vou aprender em “AND, OR, XOR e Deslocamentos”?
Leia e combine bits com confiança. Você pratica Competitive Programming Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Competitive Programming Academy?
Nenhuma experiência prévia é necessária. Competitive Programming Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “AND, OR, XOR e Deslocamentos”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Competitive Programming Academy?
Sim. Cada aula de Competitive Programming Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- AND, OR, XOR e Deslocamentos
- Defina, Limpe e Alterne um Bit
- Conte Bits e o Bit Definido Mais Baixo
- Máscaras de Bits como Pequenos Conjuntos