Defina, Limpe e Alterne um Bit
Edite um único bit com máscaras.
Defina, Limpe e Alterne um Bit é uma aula grátis de Coding Interview Prep no CoddyKit. Esta é a aula 2 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 Coding Interview Prep, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Coding Interview Prep inclui 4 aulas no total.
Edite um bit por vez
Às vezes, você precisa alterar um único bit sem tocar nos outros. O truque é criar uma máscara que atinja exatamente o bit desejado. 🎯
Crie uma máscara de um único bit
Desloque 1 para a posição desejada e obtenha uma máscara com um bit ativado. A posição 0 é o bit mais à direita.
mask = 1 << 3 # 0b1000, targets bit 3Defina um bit com OR
Para ativar um bit, aplique OR ao número e à máscara. OR força essa posição a ser 1 e deixa todos os outros bits inalterados. Chamamos isso de definir um bit.
n = 0b0001
n |= (1 << 2) # 0b0101Ativar é idempotente
Se o bit já estiver em 1, ativá-lo novamente não muda nada. Aplicar OR com uma máscara é seguro para repetir, o que torna essa operação confiável dentro de laços. 👍
A máscara invertida
Para limpar um bit, você precisa de uma máscara com essa posição em OFF e todas as outras em ON. O operador NOT (~) inverte todos os bits da sua máscara simples.
clear = ~(1 << 2) # ...11111011Limpar um bit com AND
Aplique AND ao número e à máscara invertida para forçar esse bit a 0, mantendo os demais. É assim que você limpa um único bit.
n = 0b0111
n &= ~(1 << 1) # 0b0101Alternar um bit com XOR
Aplicar XOR com uma máscara de um único bit inverte essa posição: 0 passa a ser 1 e 1 passa a ser 0. Essa alternância é a forma mais simples das três em uma única linha.
n = 0b0101
n ^= (1 << 0) # 0b0100Verificar se um bit está ativado
Aplique AND ao número e a uma máscara de um único bit. Se o resultado for diferente de zero, esse bit está definido; se for zero, o bit está desativado.
n = 0b0100
on = (n & (1 << 2)) != 0 # TrueLer o bit como 0 ou 1
Desloque o número para a direita para trazer o bit desejado para a posição mais baixa e, depois, aplique AND com 1. Você obtém exatamente o valor do bit, 0 ou 1.
n = 0b1010
bit = (n >> 1) & 1 # 1Por que editar bits é importante
Ativar, limpar e alternar permitem armazenar muitos indicadores ativados ou desativados dentro de um único inteiro. Esse é o fundamento de um estado compacto de máscara de bits em competições.
Cuidado com o deslocamento de um
As posições dos bits começam em 0, portanto o bit k está no valor 1 deslocado k posições para a esquerda. Confundir o índice é o erro mais comum de iniciantes neste assunto.
Verificação rápida
Escolha a operação correta para limpar um bit.
Recapitulação: ativar, limpar, alternar
OR ativa, AND com NOT limpa e XOR alterna um único bit. Domine essas três máscaras e você controlará qualquer bit que quiser. 🎉
Perguntas Frequentes
A aula “Defina, Limpe e Alterne um Bit” é grátis?
Sim — o texto completo de “Defina, Limpe e Alterne um Bit” é 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 Coding Interview Prep, atualize para CoddyKit PRO. O curso de Coding Interview Prep inclui 4 aulas no total.
O que vou aprender em “Defina, Limpe e Alterne um Bit”?
Edite um único bit com máscaras. Você pratica Coding Interview Prep 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 Coding Interview Prep?
Nenhuma experiência prévia é necessária. Coding Interview Prep 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 2 de 4.
Quanto tempo leva a aula “Defina, Limpe e Alterne um Bit”?
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 Coding Interview Prep?
Sim. Cada aula de Coding Interview Prep 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