Caso seja possível, represente os números no sistema de ponto flutuante F(10,3,-4,4) por arredondamento e truncamento.
x
Arredondamento
Truncamento
1,25
10,053
-2,38
2,71828
0,000007
718235,82
251102408
Passo 1
O que o exercício pede e o que temos: representar, quando possível, os números da tabela no sistema de ponto flutuante F(10,3,-4,4) usando dois métodos: arredondamento e truncamento. Os números a representar (copiados do enunciado) são: \,1,25, \,10,053, \,-2,38, \,2,71828, \,0,000007, \,718235,82, \,251102408.
Os parâmetros do sistema são:
base \beta=10;
precisão (número de dígitos significativos) t=3;
expoente mínimo L=-4;
expoente máximo U=4.
O enunciado pede para cada número a sua representação por arredondamento e por truncamento, quando isso for possível no sistema dado.
Passo 2
O que significa F(10,3,-4,4) e quais regras vamos usar (aulas rápidas e diretas).
Um número normalizado neste sistema tem a forma
\pm(d_1.d_2 d_3)\times10^{e},
onde d_1 é um dígito entre 1 e 9 (ou seja, não zero), d_2,d_3 são dígitos 0–9, e e é um inteiro com L\le e\le U, aqui -4\le e\le4. A mantissa tem exatamente t=3 dígitos significativos: d_1,d_2,d_3.
O menor número positivo normalizado possível tem mantissa 1,00 e expoente L=-4, ou seja
\text{menor positivo} = 1,00\times10^{-4}.
O maior número representável (em módulo) tem mantissa 9,99 e expoente U=4, ou seja
\text{máximo} = 9,99\times10^{4}.
Se, depois de normalizar, o expoente exigido for >U temos overflow (não é representável no formato pedido). Se o expoente for <L e não houver representação subnormal prevista, isso causa underflow e o valor é arredondado para 0 (assumiremos que o enunciado não usa subnormais).
Truncamento: cortar (descartar) todos os dígitos além dos t primeiros dígitos significativos, sem alterar o último dígito guardado.
Arredondamento (regra simples usada aqui): olhar para o primeiro dígito descartado; se ele for \ge5 aumentamos em 1 o último dígito conservado; se for <5 não alteramos. (Se houver empate exato com zeros depois, o critério de empate não aparece nos exemplos dados.)
Agora vamos aplicar isso, número a número, mostrando como normalizar e onde cortamos/arreondamos.
Passo 3
Número \,1,25.
Normalização: \,1,25 = 1,25\times10^{0}. Já tem 3 dígitos significativos 1,2,5.
Truncamento: não há dígitos além dos 3 significativos, logo o truncamento dá exatamente \,1,25\times10^{0}.
Arredondamento: idem — como está exatamente com 3 dígitos relevantes, o valor arredondado é \,1,25\times10^{0}.
Passo 4
Número \,10,053.
Normalização: escrever com um dígito antes da vírgula: \,10,053 = 1,0053\times10^{1}.
Sequência de dígitos significativos: 1,0,0,5,3\ldots. Precisamos ficar com os primeiros t=3 digitos: 1,0,0 correspondendo à mantissa 1,00.
Truncamento: cortamos após os três primeiros dígitos, ficando com \,1,00\times10^{1} = 10,0.
Arredondamento: olhamos o quarto dígito (o primeiro descartado), que aqui é 5, e ainda há um quinto dígito 3\neq0, então devemos arredondar para cima. Incrementando o último dígito conservado:1,00\\ \text{(mantissa truncada)} \xrightarrow{\text{arredondar}} 1,01.Resultado arredondado: \,1,01\times10^{1} = 10,1.
Passo 5
Número \,-2,38.
Normalização: -2,38 = -2,38\times10^{0}. Tem exatamente três dígitos significativos 2,3,8.
Truncamento: fica -2,38\times10^{0}.
Arredondamento: idem, não há dígitos extras para decidir, logo -2,38\times10^{0}.
Arredondamento: olhamos o quarto dígito, que é 8\ge5, então incrementamos o terceiro dígito:2,71 \xrightarrow{\text{arredondar}} 2,72.Resultado arredondado: \,2,72\times10^{0}.
Passo 7
Número \,0,000007.
Normalização: escrever com um dígito antes da vírgula dá 0,000007 = 7,0\times10^{-6} (ou simplesmente 7\times10^{-6}).
O expoente necessário é e=-6, mas o menor expoente permitido no sistema é L=-4. Como e=-6 < -4, esse número é menor que o menor número normalizado representável. Assumindo que não existem subnormais no enunciado, temos underflow e o valor é representado por 0.
Logo, tanto por truncamento quanto por arredondamento o resultado no sistema é 0.
O expoente necessário é e=5, mas o máximo permitido é U=4. Como e=5>4, é overflow: não há representação normalizada neste formato. Portanto não é possível representar esse número nem por truncamento nem por arredondamento (no sentido normal do formato dado). Poder-se-ia sinalizar overflow/infinito, mas dentro de F(10,3,-4,4) normal não há representação.