Represente os seguintes números decimais numa máquina de calcular de 16 bits que utiliza o sistema de aritmética de ponto flutuante
.
d.
d.
Passo 1
O enunciado pede para representar o número decimal
numa máquina de ponto flutuante
. Informações dadas e o que vamos usar:
- Base da aritmética:
. - Precisão (número de dígitos binários na mantissa):
. - Intervalo de expoentes:
e . - Número a representar:
.
O objetivo é decidir qual é a representação desse número na máquina: número normalizado, subnormal (se houver) ou underflow para zero.
Passo 2
Entendendo o formato
— o que significa na prática:
- Números normalizados têm a forma
onde cada
e o expoente satisfaz
.
- O menor número positivo normalizado (valor absoluto) é
Aqui isso vale
- Se um valor absoluto é menor que
e não há representação de subnormais especificada, então o número não pode ser representado como normalizado e ocorre underflow para zero (ou para um subnormal, se a máquina suportasse). Nesta máquina apenas a definição foi dada, sem menção a subnormais, portanto devemos assumir que números com expoente menor que são representados como zero.
Passo 3
Primeiro escrevemos o número em notação científica decimal para facilitar conversões:
Passo 4
Precisamos saber qual seria o expoente binário
na forma normalizada
com
. Calculamos
do valor absoluto:
logo
Como
e
, temos
Portanto o expoente inteiro para a forma normalizada seria
e o mantissa seria aproximadamente
Isto mostra que, se normalizado, teríamos algo do tipo
com
, portanto o expoente correto para normalização é
.
Passo 5
Comparação com o menor expoente permitido pela máquina:
Isto significa que
é muito menor que o menor número normalizado
. Como a especificação
não menciona números subnormais, o valor não pode ser representado como número normalizado nem como subnormal nessa máquina: ocorre underflow para zero. O sinal do número original é negativo, portanto a representação de ponto flutuante efetiva é o zero (com sinal negativo, se a máquina distinguir sinais de zero).