(… pontos) Assinale (V) para verdadeiro e (F) para falso:
(a) ( ) O número real 69 é representado por (1000101)_{2} na base 2 .
(b) (\quad)(0,1111)_{2}=(0,9375)_{10}
(c) ( ) A representação do número 450 na máquina F(10 ; 5 ;-4 ; 4) é 0,45000 \cdot 10^{-3}
(d) ( ) Acontece um underflow ao tentar representar o número 0,0000123 na máquina F(10 ; 4 ;-3 ; 3)
(e) ( ) Existem 19801 números exatament e representados em F(10 ; 3 ;-5 ; 5)
(f) ( ) O menor número, em valor absoluto, representado na máquina F(10 ; 4 ;-5 ; 5) é 0,0001 \cdot 10^{-5}.
(g) ( ) Na máquina F(10,3,-5,5), o número 50435 possui o mesmo valor tanto no truncamento quanto no arredondamento.
(h) ( ) Em F(10,3,-5,5), x=0,137659 \cdot 10^{4} tem erro relativo menor que y=1,127659 \cdot 10^{4}
(i) ( ) O erro absoluto máximo ao representar x=0, d_{1} d_{2} d_{3} \ldots 10^{2} \mathrm{em} F(10 ; 4 ;-9 ; 9) \mathrm{em} uma máquina usando arredondamento é 0,0005
(j) ( ) Ao somar 10203 e 123,76 numa máquina de ponto flutuante F(10,3,-6,6) usando arredondamento resulta em 0,103 \cdot 10^{4}.
(k) ( ) Ao multiplicar 10203,23 e 12,76 numa máquina de ponto flutuante F(10,3,-6,6) usando arredondamento ocorre um overflow.
Passo 1
O que o enunciado pede: avaliar (V)erdadeiro ou (F)also para cada item de (a) a (k). Vou listar as informações relevantes dadas em cada item para que fique claro o que precisamos verificar:
(a) verificar se o número decimal 69 é igual à representação binária (1000101)_2.
(b) verificar se (0,1111)_2 = (0,9375)_{10}.
(c) máquina F(10;5;-4;4) e a representação proposta de 450 como 0,45000\cdot 10^{-3}.
(d) máquina F(10;4;-3;3) e o número 0,0000123; verificar underflow.
(e) máquina F(10;3;-5;5); verificar se há exatamente 19801 números representáveis.
(f) máquina F(10;4;-5;5); verificar se o menor número em valor absoluto é 0,0001\cdot10^{-5}.
(g) máquina F(10;3;-5;5); verificar se 50435 tem o mesmo valor com truncamento e com arredondamento.
(h) máquina F(10;3;-5;5); comparar erro relativo de x=0,137659\cdot10^{4} e y=1,127659\cdot10^{4}.
(i) máquina F(10;4;-9;9) e a representação de x=0,d_{1}d_{2}d_{3}\ldots\cdot10^{2} com arredondamento; afirmação sobre erro absoluto máximo ser 0,0005.
(j) máquina F(10;3;-6;6); somar 10203 e 123,76 com arredondamento e verificar se resulta 0,103\cdot10^{4}.
(k) máquina F(10;3;-6;6); multiplicar 10203,23 por 12,76 e verificar se ocorre overflow.
Passo 2
Regras e conceitos da máquina de ponto flutuante que vamos usar (explicação didática e necessária para resolver tudo):
Um sistema F(\beta,t,L,U) representa números não nulos na forma normalizada
\pm 0,d_{1}d_{2}\dots d_{t}\cdot \beta^{e},
onde d_{1}\in\{1,2,\dots,\beta-1\} (o primeiro dígito não é zero), e d_{2},\dots,d_{t}\in\{0,1,\dots,\beta-1\}, e o expoente e satisfaz L\le e\le U.
O menor número positivo normalizado (em valor absoluto) é
Em arredondamento, o erro absoluto máximo ao aproximar um número é metade da unidade no último dígito (half-ulp) multiplicada pelo fator \beta^{e} do expoente considerado. A unidade no último dígito (ulp) para mantissa 0,d_1\dots d_t vale \beta^{-t} em termos da mantissa; na escala final vale \beta^{-t}\cdot \beta^{e}=\beta^{e-t}. O erro máximo de arredondamento é metade disso: \tfrac{1}{2}\beta^{e-t}.
O número de diferentes mantissas normalizadas possíveis (sem considerar sinal nem expoente) é 9\cdot 10^{t-1} quando \beta=10 (pois d_{1} tem 9 opções e os t-1 dígitos restantes têm 10 cada). O total de números representáveis (incluindo sinais e o zero) é
2\cdot (\text{#mantissas})\cdot (U-L+1) + 1.
Underflow: ocorre quando o valor em módulo é menor que \min; overflow: ocorre quando o valor absoluto é maior que \max.
Passo 3
Converter 69 para binário passo a passo:
Divisões sucessivas por 2:
69\div2=34 resto 1.
34\div2=17 resto 0.
17\div2=8 resto 1.
8\div2=4 resto 0.
4\div2=2 resto 0.
2\div2=1 resto 0.
1\div2=0 resto 1.
Lendo os restos de baixo para cima obtemos 1000101_2.
Verificação rápida por soma de potências de 2: 1000101_2 = 2^{6}+2^{2}+2^{0} = 64+4+1=69.
Conclusão: a representação dada está correta.
(a) Verdadeiro (V).
Passo 4
Converter (0,1111)_2 para decimal:
Em base 2, (0,1111)_2 = 2^{-1}+2^{-2}+2^{-3}+2^{-4} = \tfrac{1}{2}+\tfrac{1}{4}+\tfrac{1}{8}+\tfrac{1}{16}.
\tfrac{15}{16}=0,9375 em decimal.
Conclusão: a igualdade é correta.
(b) Verdadeiro (V).
Passo 5
Máquina F(10;5;-4;4). O número 450 em notação normalizada (forma usada aqui é 0,d_{1}\dots d_{t}\cdot10^{e}):
Uma forma correta: 450 = 0,45000\cdot 10^{3} porque 0,45000\cdot10^{3}=0,45\cdot10^{3}=450.
A proposta no enunciado é 0,45000\cdot 10^{-3}. Isso vale 0,45000\times10^{-3}=0,00045000, que é muito menor que 450.
Conclusão: a representação dada no enunciado está errada (sinal de potência invertido).
(c) Falso (F).
Passo 6
Máquina F(10;4;-3;3). Primeiro achar o menor número positivo normalizado:
Para t=4 e base 10, a menor mantissa normalizada é 0,1000.
Multiplicada por 10^{L} com L=-3: \min = 0,1000\cdot10^{-3} = 10^{-1}\cdot10^{-3}=10^{-4}=0,0001.
Comparar com 0,0000123 = 1,23\cdot10^{-5}. Esse valor é menor que 0,0001, portanto não é representável como número normalizado na máquina (assumindo que não se usam números subnormais).
Conclusão: ao tentar representar 0,0000123 ocorre underflow.
(d) Verdadeiro (V).
Passo 7
Máquina F(10;3;-5;5). Calcular o número total de números representáveis:
t=3 -> número de mantissas normalizadas: 9\cdot 10^{t-1} = 9\cdot 10^{2} = 900.
Expoentes e variam de -5 a 5 -> há U-L+1=5-(-5)+1=11 valores de expoente.
Para cada mantissa e expoente há dois sinais (+/-), além do zero único.
Total = 2\cdot 900\cdot 11 + 1 = 2\cdot 9900 + 1 = 19800 + 1 = 19801.
Conclusão: o número dado está correto.
(e) Verdadeiro (V).
Passo 8
Máquina F(10;4;-5;5). Determinar o menor número em valor absoluto (positivo) representável:
Menor mantissa normalizada é 0,1000 (para t=4).
Com L=-5: \min = 0,1000\cdot10^{-5} = 10^{-1}\cdot10^{-5}=10^{-6}=0,000001.
A afirmação diz que o menor é 0,0001\cdot10^{-5}. Calcule esse valor: 0,0001\cdot10^{-5}=10^{-4}\cdot10^{-5}=10^{-9}=0,000000001. Isso não é uma mantissa normalizada (começa com zeros) e é muito menor que o \min correto. Portanto a afirmação é incorreta.
(f) Falso (F).
Passo 9
Máquina F(10;3;-5;5). Representar 50435 com t=3 (vou usar arredondamento e truncamento nas regras padrão):
Normalizar: 50435 = 0,50435\cdot 10^{5}.
Mantissa inicial 0,50435: os três primeiros dígitos são 5,0,4. O dígito seguinte (para decidir arredondamento) é 3.
Truncamento: mantissa fica 0,504 -> valor 0,504\cdot10^{5}=50400.
Arredondamento: como o quarto dígito é 3<5, não se incrementa o último dígito; portanto também dá 0,504\cdot10^{5}=50400.
Conclusão: truncamento e arredondamento dão o mesmo resultado.
(g) Verdadeiro (V).
Para x: mantissa inicial 0,137659. Três primeiros dígitos 1,3,7. Quarto dígito é 6\ge5 → arredonda o último dígito para 8. Mantissa arredondada: 0,138. Valor representado x_{\text{rep}}=0,138\cdot10^{4}=1380.
Erro relativo: \dfrac{3,41}{1376,59}\approx 0,0024769 (cerca de 0,2477\%).
Para y: mantissa inicial 1,127659. Três primeiros dígitos 1,1,2. Quarto dígito é 7\ge5 → arredonda o último dígito para 3. Mantissa arredondada: 1,128. Valor representado y_{\text{rep}}=1,128\cdot10^{4}=11280.
Erro relativo: \dfrac{3,41}{11276,59}\approx 0,0003024 (cerca de 0,03024\%).
Observação: ambos têm o mesmo erro absoluto, mas y é muito maior que x em magnitude, então o erro relativo de y é bem menor.
Conclusão: x NÃO tem erro relativo menor que y; na verdade x tem erro relativo maior.
(h) Falso (F).
Passo 11
Máquina F(10;4;-9;9). Queremos o erro absoluto máximo ao representar
x=0,d_{1}d_{2}d_{3}\ldots\cdot10^{2}
com arredondamento e t=4.
A unidade no último dígito (ulp) em mantissa é \beta^{-t}=10^{-4}. Escalando pelo expoente e=2 obtemos um passo entre representáveis igual a 10^{-4}\cdot10^{2}=10^{-2}=0,01.
Em arredondamento o erro absoluto máximo é metade disso: \tfrac{1}{2}\cdot 0,01=0,005.
A afirmação dizia que o erro máximo é 0,0005, que seria uma décima parte do valor correto.
Conclusão: a afirmação está incorreta; o erro absoluto máximo é 0,005, não 0,0005.
(i) Falso (F).
Passo 12
Máquina F(10;3;-6;6). Somar 10203 e 123,76 com arredondamento:
Soma exata: 10203 + 123,76 = 10326,76.
Normalizar para representação com t=3. Podemos escrever 10326,76 = 0,1032676\cdot10^{5} (mantissa começa 0,1032676 e expoente 5).
Mantissa com t=3: primeiros dígitos 1,0,3; quarto dígito é 2<5, portanto arredondamento deixa 0,103.
Valor representado: 0,103\cdot10^{5} = 10300.
A alternativa proposta é 0,103\cdot10^{4}, que vale 0,103\times10^{4}=1030, obviamente diferente.
Conclusão: o resultado correto (na máquina dada) é 0,103\cdot10^{5}=10300, não 0,103\cdot10^{4}.
(j) Falso (F).
Passo 13
Máquina F(10;3;-6;6). Multiplicar 10203,23 por 12,76:
Normalizar: 130193,2148 = 0,1301932148\cdot10^{6}. Expoente 6 é o máximo permitido (U=6), então estamos no limite superior mas ainda dentro do intervalo de expoentes permitidos.
Com t=3, mantissa inicial 0,130193\dots. Três primeiros dígitos 1,3,0. Quarto dígito é 1<5, então arredonda para 0,130.
Valor representado: 0,130\cdot10^{6} = 130000, que é finito e dentro do intervalo (menor que o máximo possível).
Overflow ocorreria apenas se o produto normalizado exigisse um expoente >6. Aqui não é o caso.
Conclusão: não ocorre overflow.
(k) Falso (F).
Resposta
(a) V
(b) V
(c) F
(d) V
(e) V
(f) F
(g) V
(h) F
(i) F
(j) F
(k) F