Um determinado computador possui um sistema de representação definido por \beta=10, \mathrm{t}=3, \mathrm{l}=-4 e \mathrm{u}=4. Se esse computador for usado para determinados cálculos e operações, pergunta-se, usando essa representação usada:
a) Qual o menor e o maior valor em módulo representados por este computador?
b) Como é representado o número 8457,3 nesta máquina, se for usado o arredondamento?
c) O que aconteceria com o número do item b) se for usado o truncamento?
d) Qual é o erro relativo das representações dos itens b) e c) com relação ao arredondamento?
Passo 1
O enunciado fornece os parâmetros do sistema de representação em ponto flutuante:
base \beta=10,
número de dígitos significativos t=3,
menor expoente \ell=-4,
maior expoente u=4.
O que é pedido:
a) Qual o menor e o maior valor em módulo (magnitudes) representáveis por essa máquina?
b) Como fica representado o número 8457{,}3 usando arredondamento (para a máquina com t=3)?
c) O que acontece com 8457{,}3 se for usado truncamento (chopping) em vez de arredondamento?
d) Calcular o erro relativo das representações dos itens b) e c) em relação ao número exato 8457{,}3.
Passo 2
Vamos entender como é a representação nesta máquina (explicação didática):
Um número (não nulo) normalizado é escrito na forma
\pm d_1.d_2 d_3 \times 10^{e},
onde cada d_i é um dígito decimal (0\le d_i\le9), e o primeiro dígito satisfaz 1\le d_1\le9 (normalização: não se admite d_1=0). Aqui t=3 significa que mantemos exatamente três dígitos significativos: d_1,d_2,d_3.
Os expoentes e permitidos vão de \ell até u, ou seja e\in\{-4,-3,\dots,4\}.
Arredondamento (rounding): para obter os t dígitos, olha-se o dígito seguinte; se ele for \ge5 aumenta-se o último dígito guardado, com propagação quando necessário.
Truncamento (chopping): simplesmente corta os dígitos além do t-ésimo sem alterar o (t)-ésimo.
Com isso em mente podemos responder cada item.
Passo 3
a) Menor e maior valor em módulo representáveis (considerando números normalizados e não considerando denormalizados):
Menor magnitude positiva normalizada: tomar o menor mantissa possível 1{,}00 (com t=3 dígitos) e o menor expoente e=\ell=-4. Logo o menor valor em módulo (não nulo) é
1{,}00\times 10^{-4}=10^{-4}=0{,}0001.
(Observação: zero também é representável, mas quando pedem “menor valor em módulo representado” normalmente interessam o menor não nulo.)
Maior magnitude representável: tomar a maior mantissa possível com t=3 dígitos, que é 9{,}99, e o maior expoente e=u=4. Assim
9{,}99\times 10^{4}=9{,}99\cdot 10000=99900.
Portanto, menor magnitude não nula: \;10^{-4}. Maior magnitude: \;9{,}99\times10^{4}=99900.
Passo 4
b) Representação de 8457{,}3 por arredondamento:
Primeiro escrever 8457{,}3 na forma normalizada (científica):
8457{,}3 = 8{,}4573\times 10^{3}.
Agora mantemos t=3 dígitos significativos: os três primeiros são 8,4,5, e o quarto dígito (o que determina o arredondamento) é 7. Pelo critério de arredondamento, como o dígito seguinte é \ge5, aumentamos o último dígito guardado em 1:
Observações finais e intuição (didática e motivacional):
Note que o erro relativo com arredondamento é menor que com truncamento; isso é esperado: arredondamento dá, em média, aproximações melhores e a máxima perda relativa com arredondamento fica limitada por aproximadamente metade da unidade da última ordem representada.
Para referência, o unit roundoff (meio unidade na última casa) para \beta=10 e t=3 é
o que é uma cota grossa para erros relativos típicos na normalização; nossos erros são menores porque a magnitude do número e a localização dos dígitos influenciam o resultado.
Resposta
a) Menor magnitude não nula: \;10^{-4}. Maior magnitude: \;9{,}99\times10^{4}=99900.
b) Arredondamento: \;8{,}46\times10^{3} (valor armazenado 8460).
c) Truncamento: \;8{,}45\times10^{3} (valor armazenado 8450).