No sistema de ponto flutuante normalizado SPF
represente em cada caso, o valor arrendondado das seguintes expressões:
Passo 1
O enunciado pede para a gente somar dois números em ponto-flutuante normalizado na base 2, com precisão p=3 e expoentes entre –1 e 2.
Conteúdo: representação normalizada, alinhamento de expoentes, limites de expoente (underflow), arredondamento.
O que vamos precisar:
• Normalizar cada parcela (deixar mantissa na forma 1.xxx)
• Verificar se o expoente fica dentro de [–1,2] (se não, underflow/overflow)
• Alinhar expoentes para somar mantissas
• Arredondar e re-normalizar o resultado
Conteúdo: representação normalizada, alinhamento de expoentes, limites de expoente (underflow), arredondamento.
O que vamos precisar:
• Normalizar cada parcela (deixar mantissa na forma 1.xxx)
• Verificar se o expoente fica dentro de [–1,2] (se não, underflow/overflow)
• Alinhar expoentes para somar mantissas
• Arredondar e re-normalizar o resultado
Passo 2
Normalizando a primeira parcela
Dado 0.101₂×2⁰, a mantissa não começa com 1, então:
0.101₂ = 1.01₂×2⁻¹
Logo
0.101₂×2⁰ = (1.01₂×2⁻¹)×2⁰ = 1.01₂×2⁻¹
Aqui o expoente –1 está dentro de [–1,2], tudo certo.
Dado 0.101₂×2⁰, a mantissa não começa com 1, então:
0.101₂ = 1.01₂×2⁻¹
Logo
0.101₂×2⁰ = (1.01₂×2⁻¹)×2⁰ = 1.01₂×2⁻¹
Aqui o expoente –1 está dentro de [–1,2], tudo certo.
Passo 3
Normalizando a segunda parcela
Dado 0.110₂×2⁻¹, fazemos o mesmo:
0.110₂ = 1.10₂×2⁻¹
então
0.110₂×2⁻¹ = (1.10₂×2⁻¹)×2⁻¹ = 1.10₂×2⁻²
Mas o expoente –2 é menor que o mínimo –1 → underflow.
Em ponto-flutuante normalizado, a gente não aceita expoente fora do intervalo, então essa parcela vira zero.
Dado 0.110₂×2⁻¹, fazemos o mesmo:
0.110₂ = 1.10₂×2⁻¹
então
0.110₂×2⁻¹ = (1.10₂×2⁻¹)×2⁻¹ = 1.10₂×2⁻²
Mas o expoente –2 é menor que o mínimo –1 → underflow.
Em ponto-flutuante normalizado, a gente não aceita expoente fora do intervalo, então essa parcela vira zero.
Passo 4
Somando as mantissas
Agora é fácil:
1.01₂×2⁻¹ + 0 = 1.01₂×2⁻¹
Não precisa alinhar nada porque a segunda parcela já é zero.
Agora é fácil:
1.01₂×2⁻¹ + 0 = 1.01₂×2⁻¹
Não precisa alinhar nada porque a segunda parcela já é zero.
Passo 5
Verificando normalização e arredondamento
Mantissa = 1.01₂ tem 3 dígitos (1 + duas casas), expoente = –1 no intervalo, não sobrou nada para arredondar.
Mantissa = 1.01₂ tem 3 dígitos (1 + duas casas), expoente = –1 no intervalo, não sobrou nada para arredondar.
Resposta
A soma, no sistema SPF(2,3,–1,2), fica
1.01 × 2⁻¹