Com base nos algoritmos para realizar operações aritméticas em ponto flutuante de precisão simples, determine:
(f)
.
(f)
Passo 1
O enunciado pede para calcular em ponto flutuante de precisão simples a operação
para isso vamos usar o formato IEEE 754 de 32 bits: extrair sinal, expoente e mantissa de cada operando, alinhar expoentes, somar as mantissas (aqui somamos dois números negativos), normalizar, arredondar e montar o resultado.
Passo 2
Representação de
:
- Em binário inteiro,
. - Normalizando:
- Expoente armazenado =
. Em binário de 8 bits:
- Mantissa (23 bits) são os bits após o “1.” em
, completando com zeros:
- Sinal
(porque é negativo).
Logo, em IEEE 754:
sinal | expoente | mantissa
1 | 10000011 | 00110000000000000000000
Passo 3
Representação de
:
- Em binário
. - Normalizando:
pois
.
3. Expoente armazenado = . Em binário:
3. Expoente armazenado =
- Mantissa (23 bits) = bits após o “1.” em
, completando com zeros:
- Sinal
(positivo).
Em IEEE 754:
sinal | expoente | mantissa
0 | 10000100 | 00000000100000000000000
Passo 4
Alinhamento de expoentes
- Temos expoentes
(para ) e (para ). - Diferença =
. - Deslocamos a mantissa de
(incluindo o bit oculto 1) uma posição à direita:
- O outro operando fica com expoente final
e mantissa .
Passo 5
Soma das mantissas (ambas negativas, vamos somar e manter sinal 1):
Não houve carry extra para a esquerda, mantemos expoente
.
Passo 6
Normalização e arredondamento
- O resultado já está normalizado
. - Não há bits “1” além dos 23 significativos que causem arredondamento: mantissa final é
- O sinal permanece 1, expoente
.
Resposta
O resultado em IEEE 754 (32 bits) é
sinal | expoente | mantissa
1 | 10000100 | 10011000100000000000000
sinal | expoente | mantissa
1 | 10000100 | 10011000100000000000000
que corresponde ao valor decimal
.