Considere a máquina de ponto flutuante M(2,4,-3,3) com arredondamento.
Escreva os números abaixo na forma da máquina e determine o erro absoluto e o erro relativo em cada caso:
20

Passo 1

O enunciado dá uma máquina de ponto flutuante M(2,4,-3,3) com arredondamento e pede para escrever o número 20 na forma da máquina e determinar o erro absoluto e o erro relativo.
Informações dadas (peguei diretamente do enunciado):
  • base \beta=2;
  • precisão t=4 dígitos binários significativos (isto é, a mantissa tem t dígitos, contando o dígito implícito 1);
  • expoente mínimo L=-3 e máximo U=3;
  • arredondamento para o número representável mais próximo (quando aplicável).
O que precisa ser entregue:
  • a representação do número 20 na máquina (se existir);
  • o erro absoluto |x - \widehat{x}| e o erro relativo \dfrac{|x - \widehat{x}|}{|x|}, onde x=20 e \widehat{x} é a aproximação que a máquina fornece.

Passo 2

Relembrando como é o formato normalizado desta máquina (explicação didática, passo a passo):
  • Números normalizados em base 2 com precisão t=4 têm a forma
\pm 1.b_1 b_2 b_3 \times 2^{e},
onde os b_i são bits (0 ou 1) e há exatamente t-1=3 bits fracionários armazenados além do 1 implícito. Então a mantissa armazenável tem, no máximo, os dígitos 1.b_1 b_2 b_3.
  • O expoente e deve satisfazer L \le e \le U, ou seja -3 \le e \le 3. Se o expoente necessário para representar o número cair fora desse intervalo ocorre overflow (número maior do que o maior representável) ou underflow (muito pequeno).
  • Arredondamento: se a expansão binária tiver mais de t dígitos significativos, arredonda-se para o representável mais próximo (com regra usual de arredondamento para o par se houver empate). Mas isso só vale se o expoente resultante ficar dentro de [L,U].

Passo 3

Converter 20 para binário e normalizar (mostrar os passos):
  • Converter 20_{10} para binário:
    20_{10} = 10100_2,
    pois 20 = 1\cdot 2^4 + 0\cdot2^3 +1\cdot2^2 +0\cdot2 +0.
  • Escrever na forma normalizada 1.\text{(bits)}\times 2^{e}:
    10100_2 = 1{.}0100\ldots_2 \times 2^{4}.
    Ou seja, a representação normalizada exata é 1{.}0100\ldots_2 \times 2^{4}.
  • Agora verificar a precisão: precisamos de t=4 dígitos binários significativos (o primeiro é o 1 antes do ponto e há 3 bits fracionários). A expansão exata tem bits fracionários 0100\ldots (depois são zeros), então truncando/ajustando para t=4 obtemos
    1{.}010_2 \times 2^{4}
    que é exatamente igual à expansão porque os bits seguintes são zeros — portanto, não há erro de arredondamento da mantissa.

Passo 4

Verificar a faixa de expoente: aqui está o ponto crítico
  • O expoente necessário para representar 20 é e=4.
  • A máquina aceita expoentes apenas até U=3. Portanto e=4 > U=3.
Conclusão direta: o número 20 exige um expoente fora da faixa permitida; ou seja, 20 está fora do intervalo de números normais finitos representáveis por M(2,4,-3,3). Isso é um caso de overflow.

Passo 5

Calcular o maior número finito representável (útil para ver “o quão fora” estamos):
  • A maior mantissa possível com t=4 é 1{.}111_2 (todos os bits fracionários iguais a 1), que vale em decimal 1{.}111_2 = 1 + \tfrac{1}{2} + \tfrac{1}{4} + \tfrac{1}{8} = 1{,}875.
  • Multiplicando pelo maior expoente 2^{U}=2^{3}=8, o maior número finito representável é (1{.}111_2)\times 2^{3} = 1{,}875 \times 8 = 15.
Portanto o maior número finito possível na máquina é 15. Como 20>15, confirma-se overflow.

Passo 6

Interpretações práticas e cálculo de erros (expliquei as duas alternativas que aparecem em exercícios, pois depende da política do sistema):
  • Política padrão em muitos modelos formais e na IEEE: overflow resulta em um resultado especial + \infty (ou sinal de overflow). Nesse caso não existe representação finita \widehat{x} e não faz sentido definir um erro absoluto finito; podemos dizer que houve overflow e o erro é “não representável” (ou infinito).
  • Alternativamente, se alguém pedir explicitamente a aproximação pelo maior número finito representável (isto é, “arredondar por saturação” ao número finito mais próximo), então a aproximação finita mais próxima de 20 é o máximo representável 15. Nesse caso podemos calcular erros:
    • erro absoluto: |x-\widehat{x}| = |20 - 15| = 5.
    • erro relativo (usar vírgula decimal conforme pedido): \frac{|x-\widehat{x}|}{|x|} = \frac{5}{20} = 0{,}25.

Passo 7

Resumo final e resposta objetiva (vou apresentar as duas respostas possíveis: a correta segundo a definição da máquina — overflow — e a alternativa se for pedida a “saturação” para o maior finito).

Resposta

20 não é representável em M(2,4,-3,3) (overflow), pois a representação normalizada exigiria expoente e=4>U=3.
Se a máquina usa overflow → representação = +\infty (nenhuma aproximação finita; erro indefinido/infinito).
Se, por outro lado, aproximarmos por saturação ao maior número finito representável, então \widehat{x}=(1{.}111_2)\times 2^{3}=15, erro absoluto =5 e erro relativo =0{,}25.

Exercícios relacionados