O Analista está debugando uma falha em que a soma de dois n...

Próximas questões
Com base no mesmo assunto
Q3885117 Arquitetura de Computadores
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
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Gabarito: C

Fundamento decisivo: Na soma em complemento de dois, dois operandos de mesmo sinal com resultado de sinal oposto indicam overflow; por isso, dois positivos gerando negativo levam à alternativa C.

Tema central: Overflow em complemento de dois
Análise das alternativas
A
Errada
Underflow não é o nome da condição descrita. O caso narrado é de soma inteira em complemento de dois com mudança indevida de sinal, o que caracteriza overflow aritmético, não underflow.
B
Errada
Carry out do bit mais significativo, isoladamente, não é o critério definidor de overflow em complemento de dois.
C
Certa
A alternativa C está correta porque, na aritmética inteira em complemento de dois, há overflow quando dois números de mesmo sinal geram resultado com sinal diferente. Isso ocorre exatamente quando dois positivos resultam em valor negativo.
D
Errada
Sign extension é um procedimento para ampliar a largura de representação preservando o valor com sinal. Não descreve uma condição de erro produzida pela soma.
E
Errada
Erro de ponto flutuante não se aplica porque o enunciado trata expressamente de inteiros de 16 bits em complemento de dois.
Pegadinha da questão
A confusão real era trocar overflow por carry out, ou usar underflow por associação genérica com erro de faixa, embora o enunciado descreva o critério clássico de overflow em complemento de dois.
Dica para questões semelhantes
  • Em complemento de dois, teste overflow pela relação entre os sinais: operandos de mesmo sinal com resultado de sinal oposto indicam overflow.
  • Não use carry out do MSB, isoladamente, como sinônimo de overflow em complemento de dois.
  • Antes de classificar a falha, confirme o domínio da operação: aqui é inteiro com sinal, não ponto flutuante.
  • Resultado negativo só indica overflow nesse contexto porque o enunciado informa que os dois operandos somados eram positivos.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

A) Underflow (Subfluxo):

Incorreta. O underflow está relacionado a números muito pequenos (próximos de zero), geralmente em ponto flutuante, não a estouro de inteiros em complemento de dois.

B) Carry Out (Vai um para fora do MSB):

Incorreta. O carry out indica que houve um “vai um” no bit mais significativo, mas não é suficiente para detectar overflow em números com sinal (complemento de dois).

C) Aritmética de Overflow:

Correta. O overflow ocorre quando o resultado de uma operação excede o intervalo representável. Em complemento de dois, isso é identificado quando:

  • soma de dois positivos → resultado negativo
  • soma de dois negativos → resultado positivo

D) Sign Extension (Extensão de Sinal):

Incorreta. A extensão de sinal é usada para manter o valor ao aumentar o número de bits, não está relacionada a erro de soma.

E) Erro de Ponto Flutuante:

Incorreta. A questão trata de inteiros de 16 bits, não de números em ponto flutuante.

Gabarito:

C) Aritmética de Overflow.

Gabarito C

No sistema de Complemento de Dois, o bit mais significativo (MSB - Most Significant Bit) é utilizado para representar o sinal do número:

  • 0: Representa um número positivo.
  • 1: Representa um número negativo.

O Overflow ocorre quando o resultado de uma operação aritmética excede a capacidade de representação do número de bits disponíveis (neste caso, 16 bits). Quando somamos dois números positivos grandes, o resultado pode ser tão alto que invade a posição do "bit de sinal", transformando o 0 em 1. Para o hardware, esse 1 no início faz com que o valor seja interpretado como um número negativo, embora matematicamente deveria ser um positivo ainda maior.

Retroceder Nunca Render-se Jamais !

Força e Fé !

Fortuna Audaces Sequitur !

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo