Pular para o conteúdo principal

Questão de Arquitetura de Computadores — Conceitos Básicos em Arquitetura de Computadores — FGV 2026

Arquitetura de ComputadoresConceitos Básicos em Arquitetura de Computadores
Código
fg127319
Banca
FGV
Órgão
AL-RO
Ano
2026
Nível
Superior
Cargo
Analista Legislativo (Tecnologia da Informação - Análise e Desenvolvimento de Sistemas)
O Analista está debugando uma falha em que a soma de dois números inteiros positivos de 16 bits usando o complemento de dois resulta em um número inesperadamente negativo.A ocorrência de um resultado negativo ao somar dois números positivos (ou um resultado positivo ao somar dois negativos) em sistemas de Complemento de Dois é um sintoma direto da condição de
  1. AUnderflow (Subfluxo).
  2. BCarry Out (Vai um para fora do MSB).
  3. CAritmética de Overflow.
  4. DSign Extension (Extensão de Sinal).
  5. EErro de Ponto Flutuante.
Revelar gabarito e comentário

GabaritoC — Aritmética de Overflow.

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”.

Aritmética em Complemento de Dois: Overflow

Gabarito: letra C. A ocorrência de um resultado negativo ao somar dois números positivos (ou positivo ao somar dois negativos) em complemento de dois é o sintoma clássico de overflow aritmético — o resultado excede a faixa representável pelos bits disponíveis, invadindo o bit de sinal. Esse é um conceito fundamental da aritmética binária em complemento de dois, diretamente ligado à representação de números inteiros com sinal.

O complemento de dois é a representação mais comum para números inteiros com sinal em computadores. Nela, o bit mais significativo (MSB) indica o sinal: 0 para positivo e 1 para negativo. A faixa de valores representáveis com n bits vai de 2n1-2^{n-1} até 2n112^{n-1}-1. Para 16 bits, isso significa de -32768 a 32767. Quando uma operação aritmética produz um resultado fora dessa faixa, ocorre overflow — o resultado não cabe na representação e o bit de sinal é corrompido, gerando um valor com sinal trocado.

A distinção crucial é entre overflow e carry out. O carry out é o "vai um" que sai do bit mais significativo, mas ele não indica, por si só, erro: em somas de números sem sinal, o carry out indica que o resultado não cabe nos bits disponíveis (overflow sem sinal); já em somas com sinal (complemento de dois), o overflow ocorre quando o carry que entra no bit de sinal difere do carry que sai dele. Ou seja, o carry out pode ocorrer sem overflow (ex.: somar -1 e -1 em 4 bits: 1111 + 1111 = 11110, carry out 1, mas o resultado 1110 = -2 está correto). O overflow é detectado justamente quando o sinal do resultado é logicamente impossível: dois positivos somados dão negativo, ou dois negativos somados dão positivo.

A banca explora exatamente essa confusão: o candidato pode achar que qualquer "vai um" para fora do MSB é o problema, mas o sintoma descrito no enunciado — sinal inesperado — é a definição precisa de overflow aritmético. O carry out é um fenômeno relacionado, mas não é a condição que causa o sinal errado; ele pode existir sem que o sinal seja corrompido.

Operandos mesmo sinal
Operandos sinais opostos
Resultado sinal igual
Overflow
Resultado correto
Resultado sinal oposto
Resultado correto
Resultado correto
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Underflow refere-se a uma situação em que um resultado é tão pequeno em magnitude que não pode ser representado adequadamente (por exemplo, um número muito próximo de zero em ponto flutuante). Não se aplica à soma de inteiros em complemento de dois, onde o problema é o resultado exceder o limite superior (overflow), não ser menor que o mínimo representável.

Alternativa B — ❌ Incorreta

Carry out é o bit de "vai um" que sai do MSB durante uma operação. Embora possa estar presente em um overflow, ele não é a condição que causa o sinal inesperado. Em complemento de dois, o carry out pode ocorrer sem overflow (como em -1 + -1 = -2, onde há carry out mas o resultado é correto). O overflow é detectado pela comparação entre o carry que entra e o que sai do bit de sinal, não pela simples presença do carry out.

Alternativa C — ✅ Correta ⟵ GABARITO

Overflow aritmético é exatamente a condição descrita: o resultado de uma operação com números com sinal excede a faixa representável, fazendo com que o bit de sinal seja alterado. Somar dois números positivos que ultrapassam 2n112^{n-1}-1 (para 16 bits, 32767) resulta em um valor que, interpretado em complemento de dois, aparece como negativo. É o sintoma direto e inequívoco de overflow.

Alternativa D — ❌ Incorreta

Sign extension (extensão de sinal) é o processo de aumentar o número de bits de um valor em complemento de dois, replicando o bit de sinal nos novos bits mais significativos (ex.: estender 8 bits para 16 bits). É uma operação de conversão, não uma condição de erro. Não tem relação com o resultado inesperado de uma soma.

Alternativa E — ❌ Incorreta

Erro de ponto flutuante refere-se a imprecisões ou exceções em operações com números reais representados em ponto flutuante (como NaN, infinito, underflow/overflow de expoente). A questão trata de inteiros de 16 bits em complemento de dois, um contexto de aritmética inteira, não de ponto flutuante.

NÃO CAIA NESSA!

A banca troca overflow por carry out. O carry out é o "vai um" que sai do MSB, mas ele não é o responsável pelo sinal errado — em complemento de dois, o overflow é detectado quando o carry que entra no bit de sinal difere do carry que sai. Lembre-se: dois positivos somados dando negativo (ou vice-versa) é a assinatura clássica do overflow, não do carry out. 💪

PEGA ESSA DICA!

Para identificar overflow em complemento de dois na prova, verifique o sinal dos operandos e do resultado: se os dois operandos têm o mesmo sinal e o resultado tem sinal oposto, houve overflow. O carry out sozinho não decide — compare os carries do bit de sinal.

Gabarito: letra C.

Link permanente: /questoes/fg127319