Considere um computador binário, cujo sistema de ponto flutuante tenha 1 bit para o sinal do número, 5 bits para o expoente e 6 bits para a mantissa num total de 12 bits. Responda:
a. Qual é o menor número positivo e o maior número positivo nele representável?
b. Qual é o maior e>0, tal que 4,25+e=4,25 ?
c. Qual é o menor número maior que 4,25 , nele representável?
d. Qual é o maior número menor que 80 nele representável?
e. Efetue nele a multiplicação 0.8^{*} 5 e indique o resultado.

Passo 1

O enunciado define um formato de ponto flutuante binário com 12 bits no total: 1 bit de sinal, 5 bits de expoente e 6 bits de mantissa. Vamos precisar:
– O bias do expoente, dado por \text{bias}=2^{5-1}-1=15.
– A noção de números normalizados e denormalizados.
– Como calcular o menor e o maior valor normalizado e denormalizado.
– Como achar o ULP (unidade de menor diferença) em torno de um valor dado.
– Como representar e arredondar na aritmética deste formato.

Passo 2

Vamos achar o menor e o maior número positivo representáveis:
  1. O menor denormalizado ocorre com expoente armazenado E=0 (exp = 1-\text{bias}=-14) e mantissa mínima não nula, isto é, fracção 0.000001_2=2^{-6}.
    Logo
x_{\min} = 2^{-14}\times 2^{-6} = 2^{-20}.
  1. O maior normalizado ocorre com E=30 (exp = 30-15=15) e mantissa fracionária máxima 1.111111_2 = 2 - 2^{-6}.
    Logo
x_{\max} = (2-2^{-6})\times 2^{15} = 2^{16} - 2^{9} = 65536 - 512 = 65024.

Passo 3

Para a parte (b), precisamos do ULP em torno de 4{,}25.
  1. Escrevendo 4{,}25 em binário normalizado:
4{,}25 = 1{,}0625 \times 2^2,\quad \text{mantissa} = 0.0625 = 2^{-4}.
  1. O passo entre mantissas é
\text{ULP} = 2^2 \times 2^{-6} = 2^{-4} = 0{,}0625.
  1. Assim, a maior e>0 que ainda faz 4{,}25+e arredondar para 4{,}25 (meio-ULP ou menos) é
e_{\max} = \tfrac12\text{ULP} = 0{,}03125.

Passo 4

Para (c), o menor número maior que 4{,}25 é simplesmente
4{,}25 + \text{ULP} = 4{,}25 + 0{,}0625 = 4{,}3125.

Passo 5

Para (d), note que 80 = 1{,}25\times 2^6 é exato e está na classe normalizada com expoente 6. Nesse binário, o passo vale
\text{ULP@80} = 2^6\times 2^{-6} = 1.
Logo o maior número menor que 80 é
80 - 1 = 79.

Passo 6

Para (e), vamos fazer 0{,}8\times 5 na máquina:
  1. Representação de 0{,}8:
0{,}8 = 1{,}6\times 2^{-1},\quad 1{,}6_{\!2}=1.100110011\ldots
truncamos a mantissa a 6 bits: \,1.100110_2\times2^{-1}=0{,}796875.
  1. Multiplicação exata:
0{,}796875 \times 5 = 3{,}984375.
  1. Normalizando 3{,}984375:
3{,}984375 = 1.111111_2 \times 2^1,
que cabe exatamente nos 6 bits de mantissa.
Portanto o produto na máquina é 3{,}984375.

Resposta

(a) Menor positivo 2^{-20}, maior positivo 65024.
(b) 0{,}03125.
(c) 4{,}3125.
(d) 79.
(e) 3{,}984375.

Exercícios relacionados