Questão de Programação — JavaScript — VUNESP 2023
- Código
- vu078908
- Banca
- VUNESP
- Órgão
- TCM-SP
- Ano
- 2023
- Nível
- Superior
- Cargo
- Auditor de Controle Externo - Especialidade: Tecnologia da Informação
- A-12.5
- B-20.
- C-32.
- D-50.
- E-100.
GabaritoC — -32.
Gabarito: letra C. O código calcula (~(5^2))<<2. Primeiro, 5^2 = 7. Depois, ~7 = -8 (complemento de um). Por fim, -8 << 2 = -32. O resultado é exibido como texto no parágrafo.
5 ^ 2: XOR bitwise entre 5 (0101) e 2 (0010) resulta em 7 (0111).
~7: NOT bitwise de 7. Em JavaScript, números são de 32 bits com sinal. ~7 = -8, pois ~x = -x - 1.
-8 << 2: Deslocamento à esquerda por 2 bits equivale a multiplicar por 4: -8 * 4 = -32. O resultado é -32.
Alternativa A – ❌ Incorreta: -12,5 não é um inteiro; operadores bitwise trabalham com inteiros de 32 bits, não com floats.
Alternativa B – ❌ Incorreta: -20 seria obtido se houvesse erro de cálculo, mas não corresponde à expressão.
Alternativa C – ✅ Correta: -32, conforme demonstrado.
Alternativa D – ❌ Incorreta: -50 não é resultado de nenhuma combinação comum dos operandos.
Alternativa E – ❌ Incorreta: -100 seria obtido se o deslocamento fosse maior ou houvesse confusão com operadores.
Lembre-se: ~x em JavaScript é -(x+1). Esse é o ponto mais traiçoeiro da questão. O deslocamento à esquerda << n multiplica por 2^n (cuidado com overflow, mas aqui não ocorre).
Link permanente: /questoes/vu078908