Computação Múltipla Escolha

Qual será o resultado do seguinte snippet?

Qual será o resultado do seguinte snippet?

a = 1
b = 0
a = a ^ b
b = a ^ b
a = a ^ b
b = a ^ b
print(a, b)
  1. 1 1
  2. 0 0
  3. 0 1
  4. 1 0

Resolução completa

Explicação passo a passo

C
Alternativa C

Alternativa C

O código apresentado utiliza o operador de XOR bit a bit (^) para manipular os valores das variáveis.

Rastreamento da execução:

  • Inicialização: a recebe 1 e b recebe 0.
  • Estado: a = 1, b = 0
  • Operação 1 (a = a ^ b): Calcula-se $1 \oplus 0$.
  • Regra do XOR: bits diferentes resultam em 1, iguais em 0.
  • Novo estado: a = 1, b = 0
  • Operação 2 (b = a ^ b): Usa o novo valor de a ($1$) e o valor atual de b ($0$).
  • Cálculo: $1 \oplus 0 = 1$.
  • Novo estado: a = 1, b = 1
  • Operação 3 (a = a ^ b): Usa os novos valores de a ($1$) e b ($1$).
  • Cálculo: $1 \oplus 1 = 0$.
  • Novo estado: a = 0, b = 1

Conclusão:

Ao final do script, a função print(a, b) exibe os valores atuais de a e b, que são 0 e 1, respectivamente.

Este padrão de código é frequentemente utilizado em programação para trocar o valor de duas variáveis sem utilizar uma variável temporária.

Portanto, a saída correta corresponde à terceira opção listada: 0 1.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Computação

Ver mais Computação resolvidas

Tem outra questão de Computação?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.