Pular para o conteúdo principal

Questão de Programação — Programação de front end — FGV 2025

ProgramaçãoProgramação de front end
Código
fg108603
Banca
FGV
Órgão
DPE-RO
Ano
2025
Nível
Superior
Cargo
Analista Programador - Classe B
Analise o código a seguir.<!DOCTYPE html><html><body><p id="demo"></p><script>document.getElementById("demo").innerHTML = ~ 5;</script></body></html>Ao executar o código, o resultado do processamento do Javascript compatível com o ECMAS 2021 é:
  1. A6.
  2. B~5.
  3. C-6.
  4. D-5.
  5. ENaN.
Revelar gabarito e comentário

GabaritoB — ~5.

Esta resolução diverge do gabarito oficial. A banca deu Letra B; a resolução abaixo sustenta o contrário e explica por quê — ela não foi reescrita para concordar. Acontece nos dois sentidos: há gabarito que cai em recurso e há resolução que erra. Confira na fonte antes de fixar o entendimento.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Operador Bitwise NOT (~) em JavaScript

Gabarito oficial: B. No entanto, a execução correta do código produz o valor -6, que corresponde à alternativa C. O operador ~ é o bitwise NOT, que inverte os bits do número. Para o número 5 (binário 000...00101), o resultado é 111...11010, que em complemento de dois representa -6. Portanto, ~5 retorna -6, e ao ser atribuído a innerHTML, o navegador exibirá o texto "-6".

Alternativa A — ❌ Incorreta

6 é o resultado de ~(-7), não de ~5. O bitwise NOT de um número x é -(x+1), então ~5 = -6.

Alternativa B — ❌ Incorreta (gabarito oficial)

~5 é a própria expressão, não o resultado. O código executa a operação e atribui o valor numérico -6 à propriedade innerHTML, que será convertido para string. O texto exibido será "-6", não "~5".

Alternativa C — ✅ Correta (resposta técnica)

Conforme explicado, ~5 é igual a -6. A banca considera essa alternativa incorreta (gabarito B), mas a computação do operador é inequívoca.

Alternativa D — ❌ Incorreta

-5 seria o resultado de ~4 ou ~(-4)? Não. O bitwise NOT de 5 é -6, não -5.

Alternativa E — ❌ Incorreta

NaN ocorre em operações inválidas (ex.: 0/0). ~5 é uma operação perfeitamente válida sobre um número inteiro.


Resumo: O operador ~x retorna -(x+1). Para x=5, o resultado é -6. Embora o gabarito oficial seja B, a resposta correta segundo a especificação ECMAScript é a alternativa C.

Link permanente: /questoes/fg108603