Considere uma máquina que utiliza, base 10, quatro algarismos significativos e expoente
, para representar números reais na forma normalizada
.
© Considere
e
. Qual o resultado obtido nesta máquina para
e
, calculados de acordo com:
e
. Justifique!
© Considere
Passo 1
Beleza, vamos entender a parada. A questão é de ponto flutuante decimal: a máquina usa base 10, 4 algarismos significativos e expoentes entre –5 e +5. Os números são guardados sempre numa forma “normalizada”
O que a gente vai precisar:
- Saber como normalizar um número decimal e garantir 4 dígitos.
- Entender overflow (expoente fora de [-5,5]).
- Fazer operações na ordem pedida e aplicar arredondamento (vamos usar “chopping”, isto é, simplesmente cortar depois do quarto dígito).
Passo 2
Primeiro, vamos pôr os dados na forma da máquina:
a)
.
Normaliza assim:
Normaliza assim:
(Quatro dígitos: d₁=4, d₂=2, d₃=4, d₄=5; expoente 4 em [-5,5], tudo OK.)
b)
.
Normaliza assim:
Normaliza assim:
c)
.
Normaliza assim:
Normaliza assim:
Passo 3
Agora vamos calcular
em duas etapas, da esquerda pra direita:
-
Multiplicação
: Mas aí o expoente deu, e a máquina só aceita de a .
→ overflow na etapa intermediária.
Quando ocorre overflow, a máquina não consegue representar, é “estouro” de faixa. -
Como deu overflow em
, todo o cálculo de cai em overflow também.
Logo
Passo 4
Agora a outra ordem,
Vamos fazer
primeiro:
-
Divisão
: Cortando (chopping) para 4 dígitos após o zero: -
Agora multiplica por
: Repare que 0.09963 está abaixo de 0.1, então ainda não está normalizado (o primeiro dígito depois do ponto tem que ser ≥1 e ≤9). Normaliza movendo um lugar o ponto e baixando 1 no expoente:Cortamos para 4 dígitos:
Resposta
d = overflow (estouro de expoente em
)
e ≈
e ≈
Justificativa: como a máquina só aceita expoente até +5, a multiplicação direta
gera
e dá overflow; já na outra ordem, dividimos primeiro (ficando bem no intervalo) e depois multiplicamos, tudo dentro da faixa, resultando em
.