Observe a operação lógica abaixo, que envolve dois operandos binários. X and Y Dado que X=00110101 e Y=01110111, assinale o resultado da expressão acima.
- A)00110101
Correta, porque o AND entre os bits de X e Y resulta exatamente em 00110101.
- B)01110111
Errada, pois esse é o valor de Y, mas o AND não copia o segundo operando quando há bits 0 no primeiro.
- C)10001000
Errada, porque não corresponde ao resultado do AND bit a bit entre os dois números.
- D)10111101
Errada, pois mistura bits que não surgem da operação AND entre X e Y.
- E)11001010
Errada, já que o AND não produz esse padrão de bits para os operandos dados.
Gabarito: A
A operação mostrada é um AND lógico, também chamado de operação bit a bit. Ela compara cada posição dos dois números binários e só devolve 1 quando os dois bits daquela posição forem 1. Se em uma posição aparecer 0 em pelo menos um dos operandos, o resultado naquela casa vira 0. É aquele tipo de conta que parece simples, mas a banca adora colocar para ver se voce confunde com OR ou XOR. Vamos fazer bit a bit com X = 00110101 e Y = 01110111. Alinhando as casas: 0 and 0 = 0, 0 and 1 = 0, 1 and 1 = 1, 1 and 1 = 1, 0 and 0 = 0, 1 and 1 = 1, 0 and 1 = 0, 1 and 1 = 1. O resultado é 00110101. Perceba o atalho mental: sempre que X tem 0, o AND já força o resultado a 0 naquela posição. Como em todas as posições onde X tem 1 o Y também tem 1, o valor final fica igual ao próprio X. Por isso o gabarito é a alternativa A. Em resumo, no AND binário, 1 só aparece quando há 1 dos dois lados. Se voce lembrar dessa regra, resolve esse tipo de questão rapidinho, sem drama e sem precisar fazer oração para a tabela-verdade.