Considere uma máquina com sistema de representação de números definido por: base 10 (
10), 4 dígitos na mantissa (
) e expoente no intervalo:
. Pede-se:
a) Qual o menor e o maior número em módulo representado nessa máquina?
b) Como será representado o número 73758 nesta máquina se for usado o arredondamento? E se for usado o truncamento?
c) Se
e
, qual o resultado de
se for usado o arredondamento? E se for usado o truncamento? Justifique o resultado.
d) Considerando ainda
e
, qual o resultado da operação
, considerando que está sendo realizado o truncamento?
e) Repetir o item d) para a operação
.
f) Considere
e
. Qual o resultado obtido nets máquina para
e
, calculados de acordo com:
e
. Justifique!
g) O que podemos concluir sobre a validade das propriedades como: comutativa, associativa, elemento neutro da adição de números em aritmética de ponto flutuante?
a) Qual o menor e o maior número em módulo representado nessa máquina?
b) Como será representado o número 73758 nesta máquina se for usado o arredondamento? E se for usado o truncamento?
c) Se
d) Considerando ainda
e) Repetir o item d) para a operação
f) Considere
g) O que podemos concluir sobre a validade das propriedades como: comutativa, associativa, elemento neutro da adição de números em aritmética de ponto flutuante?
Passo 1
O enunciado trata de uma máquina de ponto flutuante em base
, com
dígitos na mantissa normalizada (ou seja, da forma
e
varia em
). Vamos usar esse formato para achar o menor e o maior módulo representável, depois ver como são feitos arredondamento e truncamento em exemplos de adição e multiplicação/divisão, e finalmente discutir propriedades como comutativa e associativa.
Passo 2
(a) O menor número positivo distinto de zero surge quando a mantissa é
e o expoente é
:
O maior em módulo ocorre quando a mantissa é
e o expoente é
:
Passo 3
(b) Para representar
primeiro escrevemos em notação normalizada:
Temos 5 dígitos significativos
, mas só cabem
.
- Arredondamento: olhamos o 5.º dígito (
), como é , aumentamos o 4.º dígito em 1, ficando
- Truncamento: cortamos após 4 dígitos sem olhar para o que vem depois,
Passo 4
(c) Seja
e
. Em ponto flutuante:
Para somar, alinhamos expoentes a
:
Isso tem 5 dígitos
. Tanto arredondando quanto truncando para 4 dígitos, o quinto dígito (
) não eleva o quarto, e nem aparece no truncamento, de modo que
Passo 5
(d) Se fazemos
para
, então já em
temos
, e todas as somas seguintes continuam iguais a
. Logo
Passo 6
(e) Agora primeiro acumulamos
com truncamento:
sempre exato em 4 dígitos:
. Depois somamos a
:
Isso tem 5 dígitos
, e truncando para 4 dígitos sobra
Passo 7
(f) Definimos agora
isto é
Operação
:
-
.
Arredondando para 4 dígitos na mantissa obtemos. - Dividindo por
dá
Para
:
-
(exato). -
, que arredondamos para .
Em ambos os casos o resultado na máquina é
Passo 8
(g) Com base nos exemplos:
- Comutativa da adição
vale, pois a ordem não altera o resultado (mesmo que parte de se perca por falta de dígitos). - Associativa da adição
falha em geral, como vimos em (d) vs. (e) para e 10 cópias de . - Elemento neutro (zero) age como esperado, mas em presença de números de ordens de grandeza muito distintas,
pode ser , porém para pode também ficar , mostrando perda de significado de pequenas parcelas.
Resposta
a)
b) Arredondamento: Truncamento:
c) Em ambos os casos .
d) (truncamento iterado).
e) (truncamento na soma final).
f) e
.
g) A adição é comutativa, mas não é associativa; o zero ainda é elemento neutro formal, mas pequenas parcelas podem ser completamente desperdiçadas.
b) Arredondamento:
c) Em ambos os casos
d)
e)
f)
g) A adição é comutativa, mas não é associativa; o zero ainda é elemento neutro formal, mas pequenas parcelas podem ser completamente desperdiçadas.