← Questões de Programação

Programação · FGV · 2023

Questão comentada de Programação

Analise o trecho de código Java a seguir. int x = 5; x <<= 2; O valor final da variável x deve ser:

Gabarito: C

Em Java, o operador "<<=" faz um deslocamento de bits para a esquerda e, depois, guarda o resultado na própria variável. Na prática, isso equivale a multiplicar por 2 a cada posição deslocada. Então, se x começa com 5, ao fazer x <<= 2 você desloca dois bits para a esquerda, o que resulta em 5 x 2². Fazendo a conta: 5 x 4 = 20. Esse tipo de operação é bem comum em questões de concurso porque parece enigmática, mas a lógica é simples: deslocar à esquerda é "andar para a esquerda" no binário, acrescentando zeros no fim. Se você quiser enxergar em binário: 5 é 0101. Deslocando dois bits à esquerda, vira 010100, que corresponde a 20 em decimal. Nada de magia, só binário trabalhando em silêncio. Por isso, o gabarito C está correto. O operador de atribuição combinada primeiro aplica o shift e depois atualiza x com o novo valor.

Continue treinando

Questões relacionadas