Na máquina
, determine:
(a) o maior número representável;
(b) o menor número positivo representável;
(c) se ocorre overflow ou underflow para:
i. 100
ii. 0,001
(a) o maior número representável;
(b) o menor número positivo representável;
(c) se ocorre overflow ou underflow para:
i. 100
ii. 0,001
Passo 1
Vamos entender claramente o que o enunciado nos deu e o que ele pede.
-
A máquina é
. Isso significa: - base
; - precisão (número de dígitos na mantissa)
; - menor expoente
; - maior expoente
.
- base
-
O enunciado pede:
(a) o maior número representável;
(b) o menor número positivo representável (assumindo números normalizados);
(c) para cada um dos valores dados, dizer se ocorre overflow ou underflow:
i.
ii.
Observação sobre o formato de números nesta máquina (informação que vamos usar a seguir): os números normalizados têm a forma
onde cada
, o primeiro dígito
é
(normalização) e
varia entre
e
.
Passo 2
Entender o intervalo e os extremos possíveis da mantissa.
- Como
e , a maior mantissa binária possível (todas as casas disponíveis iguais a 1) é
- Vamos converter
para decimal para ficar claro como manipular:
- A menor mantissa normalizada (a menor mantissa positiva normalizada) é
Passo 3
Calcular o maior número representável (resposta de (a)).
- O maior expoente permito é
. - Assim o maior número representável é a maior mantissa multiplicada por
:
- Como
,
Portanto o maior número representável na máquina é
.
Passo 4
Calcular o menor número positivo representável (resposta de (b)).
- O menor número positivo normalizado ocorre com a menor mantissa normalizada
e com o menor expoente :
- Como
,
Portanto o menor número positivo representável (normalizado) é
.
Passo 5
Definir claramente overflow e underflow (para poder responder (c)).
- Overflow: ocorre quando o valor absoluto que se quer representar é maior que o maior valor representável da máquina. Não é possível representá-lo por um número normalizado nessa máquina — em termos práticos dá erro de overflow ou representação por +infinito, dependendo da implementação.
- Underflow: neste contexto (assumindo que não há subnormais), ocorre quando um número positivo é estritamente menor que o menor número positivo normalizado
. Nesse caso, não se consegue representá-lo como um normalizado e o resultado costuma ser forçado a zero (ou, se houver subnormais, representado por um subnormal — o enunciado não menciona subnormais, então assumimos que não há).
Passo 6
Verificar o caso (c)(i):
.
- Já vimos que o maior número representável é
. - Comparando:
logo
é maior que o máximo representável.
- Uma verificação alternativa (mostrar por expoente):
em forma normalizada binária exige um expoente aproximadamente (pois e ), e . Portanto é impossível representá-lo com um expoente permitido. - Conclusão: para
ocorre overflow.
Passo 7
Verificar o caso (c)(ii):
.
- O menor número positivo normalizado é
. - Comparando:
logo
é menor que o menor normalizado.
- Alternativa via expoente:
, ou seja, para representar precisaria de um expoente muito menor que . Portanto underflow. - Conclusão: para
ocorre underflow (resultado não representável como normalizado; tipicamente torna-se se não houver subnormais).
Resposta
(a)
(b)
(c)(i) Overflow
(c)(ii) Underflow
(b)
(c)(i) Overflow
(c)(ii) Underflow