Considere um sistema de ponto flutuante dado por , isto é, um sistema binário com seis dígitos na mantissa e expoente variando de -8 a 8 . Sejam os números e .
(b) Para cada número e , 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 , 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:
converter o número pra binário;
normalizar no formato ;
aplicar o arredondamento para 6 bits totais na mantissa;
comparar com o valor real e achar .
Passo 2
Resolver pra .
Numérico: .
Em binário, , então
Normalizando em :
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”.
Logo a representação flutuante éEm decimal isso vale
Parte fracionária: x2 =10011101.11100000010ldots2 dá x2 = 1.00111011100000010ldots2times2^7 Então 1underbrace001115;bits;times2^7
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
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.
Em decimal:e multiplicando por vem
Erro absoluto:
Resposta
Para , rolou erro de arredondamento. , erro absoluto .