Questão 6

Resposta salva
Vale 0,50 ponto(s).
P Marcar questão
O que é underflow em ponto flutuante?
◯ a. Quando um número é arredondado para o número mais próximo
◯ b. Quando o expoente é muito grande para ser armazenado
◯ c. Quando ocorre uma divisão por zero
◯ d. Quando um número muito pequeno se aproxima de zero e não pode ser representado
Limpar minha escolha

Passo 1

Vou deixar claro o que o enunciado pergunta e o que é fornecido.
A pergunta é: “O que é underflow em ponto flutuante?”
As alternativas dadas são:
  • (a) Quando um número é arredondado para o número mais próximo
  • (b) Quando o expoente é muito grande para ser armazenado
  • (c) Quando ocorre uma divisão por zero
  • (d) Quando um número muito pequeno se aproxima de zero e não pode ser representado

Passo 2

Entendendo, em linhas gerais, como funciona ponto flutuante (sem fórmula complicada):
Um número em ponto flutuante (base binária) é usualmente armazenado como sinal, mantissa (ou significando) e expoente. Em forma idealizada:
(-1)^s \times m \times 2^e
onde:
  • s é o bit de sinal (0 para positivo, 1 para negativo),
  • m é a mantissa (um número que normalmente fica numa faixa como [1,2) para números normalizados),
  • e é o expoente (inteiro, com um “bias” interno na representação).
Isso significa que há um intervalo de magnitudes que podem ser representadas com números normalizados: de um menor positivo normalizado 2^{e_{\min}} até um maior 2^{e_{\max}}. Se o valor ficar fora desse intervalo, ele precisa ser tratado de maneira especial.

Passo 3

O que é underflow (definição didática):
Underflow acontece quando o resultado de uma operação tem magnitude tão pequena (próxima de zero) que não pode ser representado como um número normalizado pelo formato de ponto flutuante. Existem dois comportamentos possíveis no caso de magnitude muito pequena:
  • o valor é representado como um número “subnormal” (denormal), que usa menos precisão mas permite representar magnitudes menores que 2^{e_{\min}};
  • ou, se for ainda menor do que o menor subnormal representável, o resultado é arredondado para zero (chamado também de “flush to zero”).
Em palavras simples: underflow = número pequeno demais em magnitude para ser guardado normalmente; frequentemente acaba virando um subnormal ou zero.

Passo 4

Exemplo numérico (caso prático, para intuição):
No padrão IEEE 754 single precision temos aproximadamente:
\text{menor normal positivo} = 2^{-126} \approx 1,18\times10^{-38}
e
\text{menor subnormal positivo} = 2^{-149} \approx 1,4\times10^{-45}.
Se uma conta resultar em 10^{-40} (aproximadamente 1\times10^{-40}), esse valor é menor que 2^{-126} mas maior que 2^{-149}, portanto pode virar um número subnormal (ainda representável, com perda de precisão). Se a conta resultar em 10^{-50}, que é menor que 2^{-149}, então o valor será arredondado para zero — isto é um caso de underflow efetivo.

Passo 5

Por que as outras alternativas estão erradas:
  • (a) “Quando um número é arredondado para o número mais próximo” descreve um tipo genérico de arredondamento (rounding), não especificamente underflow. Arredondamento pode ocorrer por vários motivos, inclusive por excesso de casas da mantissa, mas não é a definição de underflow.
  • (b) “Quando o expoente é muito grande para ser armazenado” descreve overflow (ou seja, número demasiado grande), não underflow.
  • (c) “Quando ocorre uma divisão por zero” descreve uma operação que normalmente gera infinito ( \pm\infty) ou uma exceção, não underflow.
  • (d) “Quando um número muito pequeno se aproxima de zero e não pode ser representado” coincide com a definição: underflow ocorre quando o resultado é pequeno demais e é representado como subnormal ou zero.

Passo 6

Resumo final e escolha: underflow é justamente o problema de números muito pequenos que, por limitação do formato de ponto flutuante, não podem ser representados como números normais e acabam virando subnormais ou zero. Fica a dica: na prova, se aparecer algo sobre “muito pequeno” e “aproxima de zero”, pense em underflow; se for “muito grande” pense em overflow.

Resposta

(d)

Exercícios relacionados