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
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
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
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 (
a
) em binário? Procuramos o menor
tal que
.
logo precisamos de
bits para representar os valores de
a
. Esses
bits são os bits de magnitude mínimos para o dígito decimal.
Agora, ao somar dois algarismos decimais (por exemplo
) o maior resultado possível é
. Para representar o valor
em magnitude precisamos de
tal que
(ou
se estivermos pensando no número de valores distintos), mas para capacidade de magnitude basta ver que
exige
bits, pois
Portanto a magnitude do resultado precisa de
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
bits de magnitude e
bit de sinal.
Observação importante (para você saber na prova): os operandos em si podem ser armazenados com
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
bits de magnitude e
bit de sinal. Essa exigência sobre a largura para o resultado é correta (pois
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:
= positivo,
= 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
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
algarismos cada, “serão necessários apenas
somadores completos”. Vamos traduzir para termos binários digitais:
- Um algarismo decimal em BCD ocupa
bits. Então um número com algarismos decimais (por exemplo ) em BCD precisa de bits para representação. - Para realizar a soma binária desses dois números de
bits, normalmente precisamos de um somador completo por bit, ou seja, somadores completos em ripple-carry (ou lógica equivalente que realize a soma de pares de bits com carry). Portanto não é suficiente apenas 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
somadores completos” é incorreto na leitura usual técnica: você precisaria de muito mais (por exemplo 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
bits e bit de sinal). - II: falsa (bit de sinal igual a
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
full adders).
Com isso, a única afirmativa correta é a I.
Resposta
Apenas a afirmativa I está correta