Pergunta 5 0,8 pts
Com relação às afirmativas abaixo:
I. Para somar ou subtrair dois algarismos decimais sem overflow, é necessário que eles sejam representados com 5 bits de magnitude e 1 bit de sinal
II. Um bit de sinal igual a 1 significa a ocorrência de overflow
III. Para a realização da soma de dois números decimais com 3 algarismos cada, serão necessários apenas 3 somadores completos

Podemos afirmar que:


Apenas a afirmativa I está correta

Apenas as alternativas I e III estão corretas

Apenas a afirmativa III está correta

Todas as afirmativas estão corretas

Passo 1

O enunciado apresenta três afirmativas sobre representação e aritmética de algarismos decimais e pede que escolhamos qual conjunto de afirmativas está correto(s). As afirmativas são:
I. Para somar ou subtrair dois algarismos decimais sem overflow, é necessário que eles sejam representados com 5 bits de magnitude e 1 bit de sinal.
II. Um bit de sinal igual a 1 significa a ocorrência de overflow.
III. Para a realização da soma de dois números decimais com 3 algarismos cada, serão necessários apenas 3 somadores completos.
Precisamos avaliar cada afirmativa e, com base nisso, indicar qual alternativa (das listadas no enunciado) é correta.

Passo 2

Analisando a afirmativa I com calma e explicando o raciocínio por trás dela.
Primeiro, quanto de bits são necessários para representar um único algarismo decimal ( 0 a 9) em binário? Procuramos o menor m tal que 2^{m}\ge 10.
2^{3}=8<10,\qquad 2^{4}=16\ge 10,
logo precisamos de 4 bits para representar os valores de 0 a 9. Esses 4 bits são os bits de magnitude mínimos para o dígito decimal.
Agora, ao somar dois algarismos decimais (por exemplo 9+9) o maior resultado possível é 18. Para representar o valor 18 em magnitude precisamos de m tal que 2^{m}>18 (ou 2^{m}\ge 19 se estivermos pensando no número de valores distintos), mas para capacidade de magnitude basta ver que 18 exige 5 bits, pois
2^{4}=16<19\quad\text{(insuficiente)},\qquad 2^{5}=32\quad\text{(suficiente)}.
Portanto a magnitude do resultado precisa de 5 bits.
Se considerarmos números com sinal (para permitir subtração que resulte em valores negativos), precisamos também de um bit de sinal. Assim, para que o resultado da operação (soma ou subtração) caiba sem overflow, a representação do resultado precisa ter pelo menos 5 bits de magnitude e 1 bit de sinal.
Observação importante (para você saber na prova): os operandos em si podem ser armazenados com 4 bits de magnitude (mais o bit de sinal, se forem representações com sinal). O que a afirmativa I está dizendo é que, para evitar overflow no resultado da operação, a representação que comporta o resultado deve ter 5 bits de magnitude e 1 bit de sinal. Essa exigência sobre a largura para o resultado é correta (pois 9+9=18 requer 5 bits de magnitude). Então, interpretando a afirmativa como “para somar ou subtrair sem overflow o resultado precisa caber em uma representação com 5 bits de magnitude e 1 bit de sinal”, a afirmativa I é correta.

Passo 3

Analisando a afirmativa II e explicando a teoria envolvida.
O termo “bit de sinal” normalmente indica apenas o sinal do número (por exemplo, em representação sinal-magnitude: 0 = positivo, 1 = negativo). O valor do bit de sinal por si só não indica ocorrência de overflow. Overflow é uma condição do resultado da operação que indica que o valor verdadeiro excedeu o intervalo que pode ser representado com a largura disponível. Em representações comuns (como complemento de dois), o detector de overflow é feito verificando o carry entre bits mais significativos ou comparando o carry de entrada e saída no bit de sinal; em sinal-magnitude também se usam condições específicas. Em nenhum caso o simples fato de o bit de sinal ser 1 significa que houve overflow — ele apenas indica que o resultado é negativo (ou que o operando é negativo), não que ocorreu uma condição de transbordamento. Logo, a afirmativa II é falsa.

Passo 4

Analisando a afirmativa III com detalhes e exemplos práticos.
A afirmativa diz que, para somar dois números decimais com 3 algarismos cada, “serão necessários apenas 3 somadores completos”. Vamos traduzir para termos binários digitais:
  • Um algarismo decimal em BCD ocupa 4 bits. Então um número com 3 algarismos decimais (por exemplo 345) em BCD precisa de 3\times 4 = 12 bits para representação.
  • Para realizar a soma binária desses dois números de 12 bits, normalmente precisamos de um somador completo por bit, ou seja, 12 somadores completos em ripple-carry (ou lógica equivalente que realize a soma de 12 pares de bits com carry). Portanto não é suficiente apenas 3 somadores completos.
  • Há uma outra interpretação possível: talvez a pessoa que escreveu a afirmativa esteja pensando em “somadores de dígito decimal” (um somador por dígito decimal), mas um “somador por dígito decimal” não é o mesmo que um “somador completo” (full adder) — esse somador decimal é composto internamente por vários full adders plus lógica de correção BCD. Assim, dizer “apenas 3 somadores completos” é incorreto na leitura usual técnica: você precisaria de muito mais (por exemplo 12 full adders) ou de três blocos somadores de dígito que internamente usam vários full adders e lógica adicional.
Portanto, interpretando o enunciado com a terminologia técnica correta, a afirmativa III é falsa.

Passo 5

Resumo das avaliações:
  • I: correta (interpretando que, para que o resultado da soma/subtração de dois algarismos decimais caiba sem overflow, é necessário espaço para magnitude de 5 bits e 1 bit de sinal).
  • II: falsa (bit de sinal igual a 1 não significa overflow).
  • III: falsa (somar dois números decimais de 3 algarismos exige muito mais que 3 somadores completos — na representação binária típica seriam 12 full adders).
Com isso, a única afirmativa correta é a I.

Resposta

Apenas a afirmativa I está correta

Exercícios relacionados