Na máquina M(2,4,-3,3), determine:
(a) o maior número representável;
(b) o menor número positivo representável;
(c) se ocorre overflow ou underflow para:
i. 100
ii. 0,001
8. Supondo que x é representado num computador por \bar{x}, onde \bar{x} é obtido por arredondamento, obtenha os limites superiores para os erros relativos de u=2 x e w=x+x. Qual das operações é mais precisa?
Passo 1
O enunciado pede várias coisas; vou listar claramente cada pergunta e os dados fornecidos (sem resolver ainda):
A máquina é M(2,4,-3,3). Isso significa, explicitamente:
base \beta=2;
número de dígitos da mantissa t=4 (mantissa normalizada com t dígitos em base 2);
menor expoente L=-3;
maior expoente U=3.
As perguntas são:
(a) Determinar o maior número representável na máquina.
(b) Determinar o menor número positivo representável na máquina (menor normalizado).
(c) Para os números 100 e 0,001: dizer se ocorre overflow ou underflow ao tentar representá-los.
Além disso (questão 8):
Supondo que x é representado por \bar{x} obtido por arredondamento, obter limites superiores para os erros relativos de u=2x e w=x+x. Dizer qual operação é mais precisa.
Passo 2
Vou explicar o formato de números nesta máquina e as fórmulas que vou usar (aula rápida e prática).
Forma normalizada de um número positivo: todo número representável (normalizado) tem a forma
Portanto o menor número positivo representável (normalizado) é 0{,}125.
Passo 5
Verificar overflow/underflow para 100 (item (c)(i)):
Compare 100 com o máximo X_{\max}=15. Como 100>15, não há como representar 100 na faixa de expoentes/mantissa normalizada desta máquina.
Alternativa de verificação em binário (didática): 100_{10}=1100100_2=1{,}100100\times 2^{6}. O expoente necessário é e=6, mas U=3. Como 6>U o número está fora do alcance por excesso de magnitude → overflow.
Conclusão: ocorre overflow ao tentar representar 100.
Passo 6
Verificar overflow/underflow para 0{,}001 (item (c)(ii)):
Compare 0{,}001 com o mínimo normalizado X_{\min}=0{,}125. Temos 0{,}001<0{,}125, portanto o valor está abaixo do menor normalizado e não pode ser representado normalmente.
Em binário, aproximadamente \log_2(0{,}001)\approx -9{,}97, isto é, o expoente normalizado necessário seria cerca de -10, muito menor que L=-3: novamente não representável → underflow.
Conclusão: ocorre underflow ao tentar representar 0{,}001 (será subrepresentado, tipicamente tratado como zero se não houver subnormais).
Passo 7
Agora a parte sobre erros (questão 8): montar o modelo e calcular limites superiores.
Modelo de arredondamento: escrevemos
\bar{x}=x(1+\delta),\qquad |\delta|\le\epsilon,
com \epsilon=\dfrac{1}{2}\beta^{1-t}. Para a máquina dada (\beta=2,\\ t=4):
Observação prática (importante e didática): multiplicar por 2 em base 2 equivale a aumentar o expoente em 1 — isto é, a operação é exata (não induz arredondamento adicional) desde que não aconteça overflow. Assim, no caso real dessa máquina, normalmente não há arredondamento extra ao calcular 2\bar{x}; logo o único erro relativo é o erro já presente em \bar{x} e o limite é \epsilon.
Caso mais conservador (se considerarmos que a multiplicação final também sofre arredondamento): escreveríamos
e a diferença relativa é (1+\delta)(1+\delta')-1 cujo valor absoluto é \le 2\epsilon+\epsilon^{2}. Mas, como expliquei, para multiplicar por 2 em base 2 normalmente não há arredondamento extra.
Passo 9
Erro relativo para w=x+x:
Primeiro usamos \bar{x} (o valor arredondado) e calculamos \bar{x}+\bar{x}=2\bar{x}. Mesmo antes de qualquer arredondamento adicional temos 2\bar{x}=2x(1+\delta).
Porém a soma em ponto flutuante será novamente arredondada ao formato da máquina; modelando isso:
Comparação de precisão (resposta final à pergunta “Qual das operações é mais precisa?”):
Se multiplicar por 2 for realizado sem arredondamento adicional (caso típico em base 2, por ser deslocamento de expoente), então o erro relativo em u=2x é \le\epsilon (apenas o erro de \bar{x}), enquanto para w=x+x é \le 2\epsilon+\epsilon^{2}. Como \epsilon>0, tem-se
\epsilon < 2\epsilon+\epsilon^{2},
portanto u=2x é mais precisa que w=x+x.
Se quisermos ser extremamente conservadores e admitir que também a multiplicação final sofre arredondamento, ambos poderiam ter o mesmo limite \le 2\epsilon+\epsilon^{2}. Mas, na prática e na modelagem padrão, multiplicar por uma potência da base é exato (sem arredondamento extra), então a operação 2x é mais precisa.
Resposta
(a) 15
(b) 0{,}125
(c)(i) overflow
(c)(ii) underflow
Erro relativo máximo para u=2x: \epsilon=\dfrac{1}{2}\beta^{1-t}=\dfrac{1}{16}=0{,}0625 (quando multiplicar por 2 não causa arredondamento adicional).
Erro relativo máximo para w=x+x: 2\epsilon+\epsilon^{2}=\dfrac{33}{256}=0{,}12890625.
Operação mais precisa: u=2x (mais precisa que w=x+x).