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=pi=(3,14159265358979 ldots)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=pi para a base 2, representá-lo em ponto flutuante numa máquina de 16 bits (1 bit de sinal, 5 bits de expoente com bias 15 e 10 bits de fração) e depois voltar ao decimal para calcular o erro absoluto e o erro relativo. Para isso precisamos:
  • Converter pi em binário (parte inteira e parte fracionária).
  • Normalizar em forma 1m1m2cdotstimes2^e.
  • Determinar o campo de expoente c=e+15 em 5 bits e a fração m1cdots m10 (arredondando por truncamento/round-to-nearest).
  • Decodificar bar x e calcular Ea = l|x-bar xr|, Er = Ea|x|

Passo 2

Converter pi em binário. A parte inteira é
310 = (11)2
Para a parte fracionária fazemos multiplicações sucessivas por 2 (mostramos até alguns bits):
0,14159265times2=0,28318530;Rightarrow b1=0,
0,28318530times2=0,56637061;Rightarrow b2=0,
0,56637061times2=1,13274123;Rightarrow b3=1,;subtraímos 1 para continuar, etc í
Repetindo, obtemos
pi2 = 11.00100100001111110110ldots2

Passo 3

Normalizamos para a forma 1fractimes2^e. Como
11.0010010000ldots2 = 1.10010010000ldots2times2^1,
temos e=1. O campo de expoente com bias é
c = e + 15 = 16, 1610 = (10000)2
A seguir colhemos os primeiros 10 bits da fração após o “1.” e arredondamos por round-to-nearest (o bit 11 é 0, então truncamos):
m1cdots m10 = 1,0,0,1,0,0,1,0,0,0
Logo a representação de bar x é
bar x = [,smid c5cdots c1mid m1cdots m10,] = [,0mid10000mid1001001000,]

Passo 4

Decodificamos
bar x = (-1)^0times1.10010010002times2^16-15 = 1.10010010002times2^1 = 11.0010010002
Convertendo para decimal (usando vírgula como separador):
11,0010010002 = 3 + 18 + 164 = 3,140625
Logo
Ea = l|pi - bar xr| = l|3,1415926536ldots - 3,140625r| approx 0,0009676536,
Er = Eapi approx 0,00096765363,1415926536 approx 0,000308

Resposta

pi2 = 11.00100100001111110110ldots2
bar x = [,0mid10000mid1001001000,]
bar x = 3,140625
Ea approx 0,0009676536
Er approx 0,000308

Exercícios relacionados