Na máquina M(2,4,-3,3), 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

Passo 1

Vamos entender claramente o que o enunciado nos deu e o que ele pede.
  • A máquina é M(2,4,-3,3). Isso significa:
    • base \beta = 2;
    • precisão (número de dígitos na mantissa) t = 4;
    • menor expoente E_{\min} = -3;
    • maior expoente E_{\max} = 3.
  • 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. 100
    ii. 0,001
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
\pm (d_1 . d_2 d_3 d_4)_2 \times 2^{E},
onde cada d_i\in\{0,1\}, o primeiro dígito d_1 é 1 (normalização) e E varia entre E_{\min} e E_{\max}.

Passo 2

Entender o intervalo e os extremos possíveis da mantissa.
  • Como t=4 e d_1=1, a maior mantissa binária possível (todas as casas disponíveis iguais a 1) é
(1.111)_2.
  • Vamos converter (1.111)_2 para decimal para ficar claro como manipular:
(1.111)_2 = 1 + \tfrac{1}{2} + \tfrac{1}{4} + \tfrac{1}{8} = 1 + 0,5 + 0,25 + 0,125 = 1,875.
  • A menor mantissa normalizada (a menor mantissa positiva normalizada) é
(1.000)_2 = 1.

Passo 3

Calcular o maior número representável (resposta de (a)).
  • O maior expoente permito é E_{\max}=3.
  • Assim o maior número representável é a maior mantissa multiplicada por 2^{E_{\max}}:
\text{máx} = 1{,}875 \times 2^{3}.á
  • Como 2^{3}=8,
\text{máx} = 1{,}875 \times 8 = 15.á
Portanto o maior número representável na máquina é 15.

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 1{,}000_2 = 1 e com o menor expoente E_{\min}=-3:
\text{mín positivo} = 1 \times 2^{-3}.í
  • Como 2^{-3} = \tfrac{1}{8} = 0{,}125,
\text{mín positivo} = 0{,}125.í
Portanto o menor número positivo representável (normalizado) é 0{,}125.

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 (0{,}125). 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): 100.
  • Já vimos que o maior número representável é 15.
  • Comparando:
100 > 15,
logo 100 é maior que o máximo representável.
  • Uma verificação alternativa (mostrar por expoente): 100 em forma normalizada binária exige um expoente aproximadamente 6 (pois 2^{6}=64 e 100/64\approx1{,}5625), e 6>E_{\max}=3. Portanto é impossível representá-lo com um expoente permitido.
  • Conclusão: para 100 ocorre overflow.

Passo 7

Verificar o caso (c)(ii): 0,001.
  • O menor número positivo normalizado é 0{,}125.
  • Comparando:
0{,}001 < 0{,}125,
logo 0{,}001 é menor que o menor normalizado.
  • Alternativa via expoente: \log_2(0{,}001)\approx -9{,}966, ou seja, para representar 0{,}001 precisaria de um expoente muito menor que E_{\min}=-3. Portanto underflow.
  • Conclusão: para 0{,}001 ocorre underflow (resultado não representável como normalizado; tipicamente torna-se 0 se não houver subnormais).

Resposta

(a) 15
(b) 0{,}125
(c)(i) Overflow
(c)(ii) Underflow

Exercícios relacionados