(30 Pontos) Considere uma máquina cuja representação de números é dada por um sistema de ponto flutuante
, isto é, base decimal, 3 dígitos na mantissa e expoente no intervalo
.
(a) Qual o menor
número positivo representável nesta máquina?
(b) Qual o maior (
) número positivo representável nesta máquina?
(c) O que ocorre ao representar os números
e
nessa máquina?
(d) Quantos números positivos podem ser representados nessa máquina?
(a) Qual o menor
(b) Qual o maior (
(c) O que ocorre ao representar os números
(d) Quantos números positivos podem ser representados nessa máquina?
Passo 1
O enunciado pede quatro coisas sobre a máquina de ponto flutuante
:
- (a) o menor número positivo representável
; - (b) o maior número positivo representável
; - (c) o que ocorre ao representar
e nessa máquina; - (d) quantos números positivos podem ser representados.
Informações dadas (relevantes):
- base
; - precisão (número de dígitos na mantissa)
; - intervalo de expoentes
(ou seja, e ).
Passo 2
Entendendo o formato de números desta máquina (explicação didática):
- Nesta máquina os números (não nulos) são escritos na forma normalizada
onde (o primeiro dígito não pode ser zero) e . Aqui: -
é a mantissa com exatamente dígitos significativos; -
é o expoente inteiro com .
-
- Por que normalizar? Para garantir representação única: o primeiro dígito da mantissa é diferente de zero.
- Arredondamento: quando um número real tem mais de 3 dígitos significativos, na representação da máquina devemos arredondar (normalmente para o mais próximo) ou truncar conforme regra do problema; aqui usaremos o arredondamento usual (arredonda para o mais próximo, e se exatamente no meio normalmente empata-se por regra específica — mas não ocorrerá nos exemplos abaixo).
- Quando o expoente necessário para representar um número está fora do intervalo
, dizemos que há overflow (número muito grande para a máquina) ou underflow (muito pequeno). Não há indicação de subnormais nessa especificação, então assumimos que só existem os números normalizados acima.
Passo 3
Cálculo do menor número positivo representável
:
- O menor mantissa normalizada possível é
(porque e ). - Usando o menor expoente
, o menor número positivo é - Calculando:
Passo 4
Cálculo do maior número positivo representável
:
- A maior mantissa possível com 3 dígitos é
(todos os dígitos iguais a 9). - Usando o maior expoente
, o maior número é - Calculando:
Passo 5
Representação de
:
- Primeiro escrevo
em forma normalizada (notação científica): - Precisamos de apenas 3 dígitos na mantissa; a mantissa atual tem 4 dígitos (
). Arredondando para 3 dígitos significativos (o quarto dígito é , então truncamos sem aumentar): - Assim a representação na máquina é
- Observação didática: o expoente necessário é
, que está dentro do intervalo permitido, então não há underflow; apenas ocorre arredondamento por precisão.
Passo 6
Representação de
:
- Primeiro escrever em forma normalizada:
- O expoente necessário é
, mas a máquina só permite expoentes até . - Conclusão: não é possível representar
como um número normalizado nesta máquina — ocorre overflow. Em termos práticos, é maior que o maior número representável , portanto a máquina sinaliza overflow (ou, dependendo da implementação, resulta em infinito ou em erro). Não existe uma representação normalizada exata dentro de .
Passo 7
Quantos números positivos podem ser representados nesta máquina?
- Contagem das mantissas normalizadas:
-
tem possibilidades ( a ); -
tem possibilidades ( a ); -
tem possibilidades ( a ). - Portanto há
mantissas possíveis.
-
- Contagem dos expoentes:
-
pode assumir valores: .
-
- Cada combinação mantissa–expoente dá um número positivo distinto, logo o total de números positivos representáveis é
- Observação: isso não conta o zero (que é geralmente representado à parte) nem sinais negativos; a pergunta pedia apenas números positivos.
Resposta
(a)
(b)
(c) é arredondado para
;
causa overflow (não é representável, pois exige
)
(d)
(b)
(c)
(d)