Seja uma máquina fictícia que opera em um sistema de ponto flutuante de base binária e que representa os números usando 8 bits. Seja o seguinte número representado nesta máquina:
0 1 1 0 0 1
Se o primeiro bit indica o sinal do número, o segundo é o sinal do expoente, os próximos três são o expoente, e os quatro últimos são a mantissa, responda às seguintes perguntas:
a) O número está normalizado? Se não, normalize-o.
b) O número é positivo ou negativo?
c) Em módulo, o número é menor ou maior do que 1?
d) Como ficaria a representação deste número no sistema F(10,3,-10,10) ?

Passo 1

O enunciado pede quatro coisas (a–d) sobre um número armazenado numa máquina de ponto flutuante. O enunciado dá as seguintes informações:
  • A máquina “usa 8 bits” (isto está escrito no enunciado).
  • A disposição dos campos é: primeiro bit = sinal do número; segundo bit = sinal do expoente; próximos três bits = expoente (magnitude); quatro últimos bits = mantissa.
  • A sequência de bits fornecida pelo enunciado é (peguei exatamente do enunciado): 0\;1\;1\;0\;0\;1.
Observação importante (inconsistência): há uma contradição entre essas informações:
  • A soma dos tamanhos dos campos declarados é 1 + 1 + 3 + 4 = 9 bits, mas o enunciado diz que a máquina usa 8 bits.
  • Além disso, a sequência de bits fornecida tem só 6 bits \bigl(0\;1\;1\;0\;0\;1\bigr), não tem 8 nem 9 bits.
Vou seguir um procedimento prático para poder resolver o exercício sem pedir esclarecimentos (escolhi uma suposição clara e simples):
  • Assumo que o formato pretendido pelo enunciado é realmente o especificado em campos: 1 bit sinal, 1 bit sinal do expoente, 3 bits de módulo do expoente e 4 bits de mantissa (ou seja, formato de 9 bits no total).
  • Assumo que a sequência fornecida foi truncada e que os bits faltantes à direita são zeros. Ou seja, completo a sequência dada com zeros à direita até obter 9 bits. Assim uso a sequência
0\;1\;1\;0\;0\;1\;0\;0\;0.
Justifico: completar com zeros é a hipótese mais simples e natural quando bits finais não são dados; se o autor queria outra coisa teria fornecido todos os bits. Vou explicitar sempre essa hipótese nas contas seguintes.

Passo 2

Vou explicar como interpreto esse formato (aula rápida e clara, sem pular etapas):
  • Estrutura (conforme hipótese): o número é representado como
(-1)^{s}\times M \times 2^{e},
onde:
  • s é o bit de sinal (primeiro bit). Se s=0 o número é positivo; se s=1 é negativo.
  • O expoente e vem de dois elementos: um bit que dá o sinal do expoente (vou chamar de s_e) e três bits que dão a magnitude absoluta do expoente (vou chamar de E_{\text{mag}}). Adoto a interpretação simples: se s_e=0 então e=+E_{\text{mag}}; se s_e=1 então e=-E_{\text{mag}}.
  • A mantissa M segue a convenção usual de números normalizados em base 2: M tem a forma 1.f (um “1” implícito seguido da parte fracionária), onde os quatro bits da mantissa armazenada são os quatro bits de fração f. Ou seja, se os quatro bits da mantissa são b_1 b_2 b_3 b_4, então
M = 1 + b_1 2^{-1} + b_2 2^{-2} + b_3 2^{-3} + b_4 2^{-4}.
  • Normalização: um número está normalizado quando M tem a forma 1.\text{(algo)}_2 (ou seja, o dígito binário antes do ponto é 1). Se a mantissa armazenada fosse tal que M<1 (por exemplo se não houvesse bit implícito 1), diríamos que o número está desnormalizado. Aqui adotei explicitamente o bit escondido 1, portanto a forma normalizada é 1.f.

Passo 3

Agora extraio os campos da sequência que adotei: 0\;1\;1\;0\;0\;1\;0\;0\;0.
  • Bit de sinal: s=0. Logo o número será positivo.
  • Bit sinal do expoente: s_e = 1. Isso significa (pela convenção acima) que o expoente é negativo.
  • Próximos três bits (magnitude do expoente): 1\;0\;0. Em decimal isso vale
E_{\text{mag}} = 1\cdot 2^{2} + 0\cdot2^{1} + 0\cdot2^{0} = 4.
Portanto, pelo sinal do expoente, o expoente real é e = -4.
  • Quatro bits da mantissa (parte fracionária): 1\;0\;0\;0. Isso representa a fração
f = 1\cdot 2^{-1} + 0\cdot 2^{-2} + 0\cdot 2^{-3} + 0\cdot 2^{-4} = \tfrac{1}{2}.
Com o bit oculto 1, a mantissa é
M = 1 + f = 1 + \tfrac{1}{2} = \tfrac{3}{2} = 1{,}5.
  • Então o número representado (na minha hipótese) é
x = (-1)^{0}\times 1{,}5 \times 2^{-4} = 1{,}5 \times \tfrac{1}{16} = \tfrac{3}{32}.
Em decimal isso é
x = 0{,}09375.

Passo 4

Responder explicitamente (com explicações curtas):
a) O número está normalizado?
  • Sim. Explicação: a convenção que adotei usa mantissa da forma 1.f. Aqui a mantissa efetiva é 1,1000_2 (isto é 1 seguido da fração 1000), logo o dígito antes do ponto é 1 e a forma é normalizada. Em notação explícita a representação normalizada é
1{,}1000_2\times 2^{-4}.

Passo 5

b) O número é positivo ou negativo?
  • Como s=0, o número é positivo. (Já usei isso no cálculo: x=+0{,}09375.)

Passo 6

c) Em módulo, o número é menor ou maior do que 1?
  • Em módulo é menor que 1, pois x=0{,}09375<1. Uma observação didática: mesmo com mantissa >1 (no sentido de M\ge1), um expoente negativo suficientemente grande (aqui e=-4) pode tornar o produto final menor que 1.

Passo 7

d) Representação no sistema F(10,3,-10,10). Vou explicar o que é esse sistema e como faço a conversão:
  • O sistema F(10,3,-10,10) tem base \beta=10, precisão t=3 algarismos significativos (3 dígitos na mantissa decimal normalizada), e expoentes permitidos entre -10 e 10.
  • Primeiro escrevo o número em notação decimal normalizada (mantissa entre 1 e 10):
0{,}09375 = 9{,}375\times 10^{-2}.
  • Agora aplico a regra de arredondamento para caber em t=3 dígitos. (Vou assumir arredondamento para o mais próximo; se o exercício pedisse truncamento eu usaria truncamento — sempre importante especificar a regra. Aqui escolho arredondamento.)
    • 9{,}375 com 3 dígitos significativos arredonda para 9{,}38 (o quarto dígito é 5, então arredonda o terceiro dígito para cima).
  • Assim a representação em F(10,3,-10,10) é
+9{,}38\times 10^{-2}.
O expoente -2 está dentro do intervalo [-10,10], então a representação é válida.

Resposta

a) Sim. A representação normalizada (binária) é 1{,}1000_{2}\times 2^{-4}.
b) Positivo.
c) Em módulo é menor que 1 (valor 0{,}09375).
d) Em F(10,3,-10,10): +9{,}38\times 10^{-2}.

Exercícios relacionados