Questão de Programação — Linguagens de programação — FGV 2023
- Código
- fg072440
- Banca
- FGV
- Órgão
- TJ-RN
- Ano
- 2023
- Nível
- Superior
- Cargo
- Analista Judiciário - Tecnologia de Informação – Análise de Sistemas
- A0;
- B1;
- C20;
- D25;
- E125.
GabaritoC — 20;
<<)Gabarito: letra C (20). O operador <<= realiza a atribuição com deslocamento à esquerda (left shift). Em Java, x <<= 2 equivale a x = x << 2, que desloca os bits de x duas posições para a esquerda, preenchendo com zeros. O valor 5 em binário é 0101; deslocando 2 bits à esquerda obtém-se 10100, que em decimal é 20.
Vamos analisar cada alternativa:
Valor 0. O deslocamento à esquerda não zera o valor a menos que o número original seja 0 ou que o deslocamento exceda a largura do tipo (mas não é o caso). 5 << 2 = 20.
Valor 1. Não corresponde a nenhum deslocamento simples de 5. O operador << não equivale a uma divisão.
Valor 20. Cálculo correto: 5 (0101₂) deslocado 2 bits à esquerda = 10100₂ = 16 + 4 = 20.
Valor 25. Possível confusão com multiplicação por 5 (5×5=25), mas << é diferente.
Valor 125. Possível confusão com potência (5³=125) ou deslocamento excessivo.
Em Java, para inteiros, x << n equivale a multiplicar x por 2ⁿ (respeitando os limites de bits). Para <<=2, multiplique por 4: 5 × 4 = 20. Essa equivalência ajuda a verificar rapidamente o resultado. Cuidado com números negativos e com o operador >>> (deslocamento à direita sem sinal).
Link permanente: /questoes/fg072440