Considere um sistema de ponto flutuante dado por F(2,6,-8,8), isto é, um sistema binário com seis dígitos na mantissa e expoente variando de -8 a 8 . Sejam os números x1=raiz8 e x2=157.876.
(b) Para cada número (x1 e x2), responda se houve ou não erro na representação do número. Justifique a sua resposta em cada caso. Em caso de erro na representação, calcule o erro absoluto cometido.

Passo 1

Beleza, mano! O enunciado diz que temos um sistema de ponto‐flutuante binário
x1 = raiz8, x2 = 157.876, , isto é:
  • base ,
  • precisão bits na mantissa (incluindo o 1 antes da vírgula),
  • expoente varia de até .
A tarefa (parte b) é, para cada número
dizer se eles são representados exatamente ou sofrem erro de arredondamento e, se der erro, calcular o erro absoluto.
Para isso vamos precisar:
  1. converter o número pra binário;
  2. normalizar no formato ;
  3. aplicar o arredondamento para 6 bits totais na mantissa;
  4. comparar com o valor real e achar .

Passo 2

Resolver pra x1 = 2raiz2 = 10.110101000ldots2 .
  1. Numérico: 10.110101ldots2 = 1.0110101ldots2times2^1 .
  2. Em binário, 1underbrace011015 bits , então fl(x1)=1.011012times2^1
  3. Normalizando em l(1 + 0cdot2^-1 +1cdot2^-2 +1cdot2^-3 +0cdot2^-4 +1cdot2^-5r)times2 =1.40625times2=2.8125 : |x1 - fl(x1)| = |2.82842712 - 2.8125| approx 0.01592712
  4. A mantissa tem que ter 6 bits totais (um “1.” implícito + 5 bits fracionários).
    Pegamos os primeiros 5 bits após o ponto: O próximo bit (o 6º fracionário) é 0, então não rolou “arredonda pra cima”.
  5. Logo a representação flutuante é Em decimal isso vale
  6. Erro absoluto:

Passo 3

Agora 0.876times2=1.752to1,;0.752times2=1.504to1,;0.504times2=1.008to1,;dots .
  1. Parte inteira 0.87610=11100000010ldots2 .
  2. Parte fracionária: x2 =10011101.11100000010ldots2 x2 = 1.00111011100000010ldots2times2^7 Então 1underbrace001115;bits;times2^7
  3. Normalizar: desloca o ponto 7 casas pra esquerda (porque 1.001112 = 1 +0cdot2^-1+0cdot2^-2+1cdot2^-3+1cdot2^-4+1cdot2^-5 =1.21875, tem 8 dígitos), |x2-fl(x2)|=|157.876 -156|=1.876
  4. Novamente mantissa com 6 bits (1 implícito + 5 fracionários). Pego os 5 primeiros após o “1.”: O próximo bit (6º fracionário) também é 0, então não arredonda.
  5. Em decimal: e multiplicando por vem
  6. Erro absoluto:

Resposta

  • Para , rolou erro de arredondamento.
    , erro absoluto .
  • Para , também deu erro.
    , erro absoluto .

Exercícios relacionados