Questão 8:Converta o número para a base 2 e escreva o número binária na forma de ponto flutuante, numa máquina de 16 bits e depois volte para a base 10, calcule o erro absoluto e o erro relativo.
Máquina de 16 bits: exp =5 bits; frac =10 bits; s=1 bit, onde x=(-1)^s M times 2^c-B I A S, com B I A S=15 e M=(1 m1 m2 cdots m9 m10)2, portanto será representado na máquina assim:
[s|c5 cdots c2 c1| m1 m2 cdots m9 m10]
Calcule os erros absoluto e relativo das aproximações barx para x em cada caso:
x=(1,00001)10
x=()2,( converte para base 2)
barx=[?|? ? ? ? ?| ? ? ? ? ? ? ? ? ?] ( representar na IEEE )
barx=()10 ( vo<a para base 10)
Ea=?( calcular o erro absoluto na base 10)
Er=?( calcular o erro relativo na base 10)

Passo 1

O enunciado pede para converter x=1,0000110 em ponto flutuante numa máquina de 16 bits com 1 bit de sinal, 5 bits de expoente (viés B=15) e 10 bits de fração (mantissa), obter a aproximação bar x, voltar a converter para decimal e calcular o erro absoluto e relativo. Para isso precisamos:
  • Converter x em base 2;
  • Normalizar na forma pm1m1m2cdots m10times2^e;
  • Montar os campos s, c=e+B, m1cdots m10;
  • Converter de volta e obter bar x;
  • Calcular
Ea=l|x-bar xr|, Er=Ea|x|

Passo 2

Converter x=1,0000110 para binário. Escrevendo
x=1 + d, d=0,0000110=10^-5,
a expansão binária de d dá zeros nos primeiros 16 dígitos após a vírgula (o primeiro 1 surge na 17ª posição). Assim
x = 1,00000000000000010ldots2
Para a mantissa de 10 bits, todos os mi até i=10 são zero (chopping).

Passo 3

Normalizando, x=+1.00000000002times2^0.
Logo
s=0, e=0, c=e+B=0+15=15=(01111)2,
e
m1m2cdots m10=0000000000

Passo 4

A representação de 16 bits é
bar x = [,0mid01111mid0000000000,]

Passo 5

Voltando ao decimal:
bar x =(-1)^0l(1+0r),2^0=1,0

Passo 6

Calcular os erros em decimal:
Ea=l|x-bar xr|=l|1,00001-1,0r|=0,00001,
Er=Ea|x|=0,000011,00001approx9,9990times10^-6

Resposta

x=1,0000110=(1.00000000000000010ldots)2
bar x=[0mid01111mid0000000000]
bar x=1,010
Ea=0,00001
Erapprox9,9990times10^-6

Exercícios relacionados