Considere o sistema de ponto flutuante normalizado ( beta, t, m, M ) =(2,5,-4,4)
a) Qual o menor e o maior número, em valor absoluto, que podem ser representados nesse sistema?
b) Quantos números podem ser representados nesse sistema?
c) Qual a região de overflow desse sistema de ponto flutuante?
d) Qual a região de underflow desse sistema de ponto flutuante?
e) O número 18 pode ser representado nesse sistema? Por quê?
f) O número 8 pode ser representado nesse sistema? Por quê?
g) O número 0,1 pode ser representado nesse sistema? Por quê?
h) Usando-se arredondamento, como será representado nesse sistema o número 13? E se fosse usado truncamento?
i) Nesse sistema de ponto flutuante, quanto vale x+y e x.y, onde x=13 e y = 0,3 ?

Passo 1

Resumo do enunciado: temos um sistema de ponto flutuante normalizado (beta,t,m,M)=(2,5,-4,4). Precisamos:
a) menor e maior número em valor absoluto;
b) quantos números cabem;
c) região de overflow;
d) região de underflow;
e) se 18 é representável;
f) se 8 é representável;
g) se 0,1 é representável;
h) como representar 13 com arredondamento e com truncamento;
i) calcular x+y e xcdot y em ponto flutuante, para x=13 e y=0,3.

Passo 2

Forma geral de cada número normalizado:
pm(d0d1d2d3d4)2 times 2^e,
com d0=1, cada diin0,1 e ein-4,-3,dots,4. Há 2^t-1=2^4=16 mantissas possíveis e M-m+1=4-(-4)+1=9 valores de expoente.

Passo 3

Menor número positivo normalizado é
1,00002times2^-4=2^-4=0,0625
Maior é
1,11112times2^4=(2-2^-4);2^4=31

Passo 4

Números positivos não-nulos: 16cdot9=144. Com sinal dá 2cdot144=288, mais o zero, totalizando
288+1=289
números.

Passo 5

Região de overflow: todos os x tais que
|x|>31
Região de underflow (não contando zero):
0<|x|<2^-4=0,0625

Passo 6

Para testar representabilidade basta ver se o número pode ser escrito na forma pm(1frac)2times2^e com no máximo 4 dígitos na fração:
  • 1810=100102=1,00102times2^4, cabe exatamente.
  • 810=10002=1,00002times2^3, cabe exatamente.
  • 0,110 em binário é periódico ( 0,000110011ldots2), não cabe em 4 dígitos de fração to não é representável.

Passo 7

O número 13 é 11012=1,10102times2^3, já tem apenas 4 bits na fração. Portanto, seja por truncamento ou por arredondamento ele fica exatamente
1,10102times2^3=13

Passo 8

Para x=13 e y=0,3 usamos arredondamento (round-to-nearest) em cada operação:
1. Representamos y: 0,3approx1,00110011ldots2times2^-2. Com 4 bits de fração fica
ym=1,00112times2^-2=0,296875
2. Soma x+y: exata é 13,296875. Normalizando dá mantissa 1,10101ldots2; truncando em 4 bits seria 1,10102, mas o 5.º bit é 1, então arredondamos para
1,10112times2^3=13,5
3. Produto xcdot y: exato de mantissas é 1,10102times1,00112approx1,9296875, expoente 3+(-2)=1. Mantissa exata em binário começa 1,11101ldots2; truncando 4 bits dá 1,11102 e o 5.º bit é 1, então arredondamos para
1,11112times2^1=3,875

Resposta

a) Menor não-nulo ,2^-4=0,0625, maior (2-2^-4)2^4=31.
b) 289 números.
c) |x|>31.
d) 0<|x|<0,0625.
e) Sim, 18=1,00102times2^4.
f) Sim, 8=1,00002times2^3.
g) Não, 0,1 é periódico em binário.
h) 13 cabe exato: 1,10102times2^3 tanto por truncamento quanto por arredondamento.
i) Com round-to-nearest:
;x+y=13,5, ;xcdot y=3,875.

Exercícios relacionados