Questão 1 (
/3,0)
Considere o sistema de ponto flutuante
. Considere ainda os números
e
. Sobre essas condições, responda:
a) Quais são o menor e o maior números representáveis no sistema
?
b) Quais números exibidos nos enunciados são representáveis no sistema? Caso algum número não seja representável explique o motivo e indique se houve overflow ou underflow. Caso seja representável, exiba-o com truncamento e com arredondamento no sistema
.
c) Em cada número representável acima, exiba o erro absoluto e o erro relativo na aproximação por truncamento e por arredondamento.
d) Realize as seguintes operações em aritmética de ponto flutuante:
.
e) Calcule o erro absoluto e erro relativo cometido no cálculo de z -w.
Considere o sistema de ponto flutuante
a) Quais são o menor e o maior números representáveis no sistema
b) Quais números exibidos nos enunciados são representáveis no sistema? Caso algum número não seja representável explique o motivo e indique se houve overflow ou underflow. Caso seja representável, exiba-o com truncamento e com arredondamento no sistema
c) Em cada número representável acima, exiba o erro absoluto e o erro relativo na aproximação por truncamento e por arredondamento.
d) Realize as seguintes operações em aritmética de ponto flutuante:
e) Calcule o erro absoluto e erro relativo cometido no cálculo de z -w.
Passo 1
O enunciado pede várias coisas sobre o sistema de ponto flutuante
e os números dados. Vou listar claramente o que é solicitado e quais dados temos.
-
Sistema:
. - Base
. - Precisão
dígitos significativos (mantissa com 3 dígitos). - Exponentes válidos
no intervalo . - Números normalizados têm forma
com e . - Não foram mencionados subnormais, então assumimos que NÃO há denormalizados; abaixo do menor normalizado representa-se como zero (underflow).
- Base
-
Números fornecidos:
-
-
Perguntas:
a) Qual o menor e o maior número representável no sistema?
b) Quais dos números dados são representáveis? Se não, por quê (overflow ou underflow)? Se são representáveis, exibir suas representações por truncamento (chop) e por arredondamento (round-to-nearest) no sistema.
c) Para cada número representável, exibir o erro absoluto e o erro relativo entre o valor real e a aproximação por truncamento e por arredondamento.
d) Em aritmética de ponto flutuante do sistema, calculare .
e) Calcular o erro absoluto e o erro relativo cometidos no cálculo de(comparando o resultado em ponto flutuante com o valor exato real ).
Passo 2
Conceitos e fórmulas que vamos usar (curtinho e prático):
- Representação normalizada em base 10 com
: qualquer número não nulo representável tem forma
onde há exatamente 3 dígitos significativos
.
- Menor positivo normalizado:
- Maior positivo:
- Truncamento (chop): cortar depois dos
dígitos significativos, ignorando os posteriores. - Arredondamento (round-to-nearest, regra usada aqui): olhar o
-ésimo dígito; se aumentar o -ésimo dígito em 1 (propagando carries se necessário), caso contrário manter. - Erro absoluto:
- Erro relativo:
quando
.
Observação sobre operações em ponto flutuante: aqui vou usar o procedimento padrão didático — representar primeiro os operandos no formato do sistema (usar a aproximação por arredondamento como valor armazenado), efetuar a operação em aritmética exata (com precisão infinita), e depois arredondar o resultado ao formato
. Justificativa: enunciado não especificou regra; é razoável e comum usar arredondamento para representar e também para resultados das operações.
Passo 3
Determinar se cada número cabe no intervalo de expoentes e escrever sua forma científica normalizada (antes de truncar ou arredondar):
-
. Exponente está no intervalo , então o valor está dentro do alcance (sem overflow). -
. Exponente ok. -
. Exponente ok. -
. Exponente ok. -
. Exponente está abaixo do mínimo → este número NÃO é representável; causa: underflow (valor não nulo menor que o menor normalizado). Sem subnormais, aproxima-se por zero.
Concluímos: todos exceto
estão no alcance;
underflows para zero.
Passo 4
Calcular as aproximações por truncamento e por arredondamento para
.
Regra aplicada: manter os primeiros
dígitos significativos de
etc.
-
Para
: - Truncamento: cortar após 3 dígitos significativos:
. - Arredondamento: olhar o 4.º dígito (que é
) → incrementar o 3.º dígito:
- Truncamento: cortar após 3 dígitos significativos:
-
Para
: - Truncamento:
. - Arredondamento:
(porque o 4.º dígito é ).
- Truncamento:
-
Para
: - Truncamento:
. - Arredondamento:
.
- Truncamento:
-
Para
: - Truncamento:
. - Arredondamento:
.
- Truncamento:
-
Para
: - Exponent
→ underflow; com representação considerada, aproxima-se por (tanto em truncamento quanto em arredondamento, já que não há subnormais).
- Exponent
Passo 5
Calcular erros (absoluto e relativo) entre cada aproximação e o valor real. Vou apresentar para truncamento (chop) e arredondamento (round). Para
cálculo também feito (underflow para zero).
- Fórmulas aplicadas:
Calculemos cada um (valores arredondados nos resultados numéricos a 6 dígitos decimais quando necessário).
- Truncamento:
. - Erro absoluto:
. - Erro relativo:
(aprox. ).
- Erro absoluto:
- Arredondamento:
. - Erro absoluto:
. - Erro relativo:
(aprox. ).
- Erro absoluto:
- Truncamento:
. - Erro absoluto:
. - Erro relativo:
.
- Erro absoluto:
- Arredondamento:
. - Erro absoluto:
. - Erro relativo:
.
- Erro absoluto:
- Truncamento:
. - Erro absoluto:
. - Erro relativo:
.
- Erro absoluto:
- Arredondamento:
. - Erro absoluto:
. - Erro relativo:
.
- Erro absoluto:
- Truncamento:
. - Erro absoluto:
. - Erro relativo:
.
- Erro absoluto:
- Arredondamento:
. - Erro absoluto:
. - Erro relativo:
.
- Erro absoluto:
-
(underflow)
- Aproximação (chop e round):
. - Erro absoluto:
. - Erro relativo:
(erro relativo ).
- Erro absoluto:
Nota pedagógica: aparece um padrão numérico — ao truncar o decimal com mantissa
o erro relativo é próximo de
e ao arredondar é quase metade disso (
). Isso vem do fato da perda dos dígitos menos significativos.
Passo 6
Agora realizamos as operações em aritmética de ponto flutuante do sistema. Procedimento usado:
- Representar
e pelos valores armazenados (uso o arredondamento, ou seja , ). - Fazer a operação em aritmética real infinita com esses operandos armazenados.
- Arredondar o resultado ao formato
(3 dígitos significativos), normalizando e verificando expoente.
Operadores:
- Soma
- Usando os valores armazenados:
. - Normalizar:
. - Arredondar a 3 dígitos significativos: olhar o 4.º dígito (é
) → manter: - Resultado em ponto flutuante:
.
- Subtração
-
. - Normalizar:
. - Arredondar (o 4.º dígito é
e o seguinte é , usamos arredondamento para mais quando o dígito de arredondamento ): incrementa o terceiro dígito: - Resultado em ponto flutuante:
.
Comentário didático: aqui vemos cancelamento parcial: embora
e
tenham mantissas semelhantes
, a diferença reduz dígitos significativos; por isso a perda relativa de precisão pode aumentar.
- Multiplicação
-
. - Normalizar:
. - Arredondar a 3 dígitos: o 4.º dígito é
→ incrementa: - Resultado em ponto flutuante:
(ou ).
- Divisão
-
exatamente (pois ). - Normalizar:
— já tem 3 dígitos significativos. - Resultado em ponto flutuante:
.
Passo 7
Calcular o erro absoluto e relativo no cálculo de
, isto é, comparar o resultado em ponto flutuante com o valor exato real
usando os números originais do enunciado (
).
- Valor exato:
- Valor obtido em aritmética de ponto flutuante (Passo 6):
. - Erro absoluto:
- Erro relativo:
Comentário de ânimo: deu um erro relativo da ordem de
, relativamente pequeno, mas o importante é entender de onde vem — perda de dígitos menores durante representação e arredondamento nas operações.
Resposta
a) Menor positivo normalizado:
. Maior positivo:
. (Extremos negativos simetricamente:
e
.)
b) Representações (truncamento / arredondamento):
-
: trunc / round . -
: trunc / round . -
: trunc / round . -
: trunc / round . -
: não representável (exponente ) → underflow para .
c) Erro absoluto e erro relativo (trunc / round):
-
: - trunc: erro abs
, erro rel . - round: erro abs
, erro rel .
- trunc: erro abs
-
: - trunc: erro abs
, erro rel . - round: erro abs
, erro rel .
- trunc: erro abs
-
: - trunc: erro abs
, erro rel . - round: erro abs
, erro rel .
- trunc: erro abs
-
: - trunc: erro abs
, erro rel . - round: erro abs
, erro rel .
- trunc: erro abs
-
(underflow): - aproximação
. Erro abs . Erro rel (100%).
- aproximação
d) Resultados das operações em
(usando arredondamento e representação machine dos operandos):
-
. -
. -
(ou ). -
(ou ).
e) Erro no cálculo de
:
- Valor exato:
. - Valor em ponto flutuante:
. - Erro absoluto:
. - Erro relativo:
(aprox. ).