Exercícios Resolvidos de Aritmética de Ponto Flutuante

Ver Teoria

Enunciado

1. Considerando as máquinas F(10, 5, -9, 9) e G(10,9,-5,5):

a) Indique qual delas representa uma quantidade maior de números. Justifique sua resposta.

b) Indique os valores positivos mínimo e máximo que a máquina F representa e as regiões de underflow e overflow.

Passo 1

E aiii, galera!! Nessa provinha, iremos juntos relembrar alguns conteúdos de cálculo numérico. Nesse primeiro exercício, lembraremos dos sistemas para representação de números usados em computadores! Esses sistemas, ou máquinas, possuem uma forma padrão do tipo F ( β , n , e m í n ,   e m á x ) , em que β é a base, n é o número de dígitos, e m í n e e m á x são os expoentes mínimo e máximo.

Logo, um número real x deve ser escrito da forma: F ( x ) =   ± 0 .   d 1 d 2 . . .   d n × β e , onde 0 ≤ d i ≤ β - 1 ,   p a r a   i = 1,2 , . . . , n , c o m     d 1 ≠ 0 ,   e   ϵ   [ e m í n ,   e m á x ] .

Mas como assim d 1 ≠ 0 ??? Eu te respondo! Somente fazemos isso para garantir a unicidade da representação de um número! Caso contrário, poderíamos representar, por exemplo, o número 3.2   como 0.03200 × 1 0 2 ou 0.00320 × 1 0 3 ou 0.00032 × 1 0 4 .

Passo 2

Vamos simplificar essas ideias!

Segundo o nosso enunciado, a máquina F possui base 10, 5 dígitos e 19 opções de expoente, variando entre -9 e 9. Logo, para cada expoente, os dígitos podem assumir 10 diferentes valores (de 0 a 9), exceto o primeiro dígito ( d 1 ), que deve ser diferente de 0. Isto é, para cada expoente, temos: 19   × 10   ×   10   ×   10   ×   10 × 9   =   171 × 1 0 4 números. Além disso, temos os dois sinais e a representação do número 0. Portanto, a máquina F gera 171 × 1 0 4 × 2 + 1 = 3420001 números!

Já a máquina G possui base 10, 9 dígitos e 11 opções de expoente, variando entre -5 e 5. Mais uma vez, para cada expoente, temos 10 possibilidades por dígito, exceto para o dígito 1, que possui 9 possibilidades. Contando o sinal e o número zero: 11   × 1 0 8 × 9 × 2 + 1 = 19800000001 números.

Portanto, a máquina G representa uma maior quantidade de números.

De forma geral, podemos usar essa regrinha toooop:

n ( F ) =   ( e m á x   −   e m í n   +   1 )   ×   β n - 1   ×   ( β   −   1 )   ×   2   +   1

Passo 3

Beleza, vamos para letra B! Para descobrir o valor mínimo, devemos escolher os menores valores de cada dígito e o menor expoente da máquina F. O menor valor do primeiro dígito é 1 e dos demais dígitos (do 2° ao 5°) é 0. O menor expoente é -9. Logo, obtemos: x m í n = 0.10000 × 1 0 - 9 .

O valor máximo é justamente o contrário! O maior valor que todos os dígitos podem assumir é 9 ( β - 1 ) e o maior expoente é o 9. Logo, obtemos: x m á x = 0.99999 × 1 0 9 .

Olha que interessante… As regiões de underflow e overflow contém números que não podem ser representados por uma máquina! E esse “limite” faz sentido, né? Um computador não consegue representar todooos os números da reta real, pois uma hora a memória acaba! A região underflow fica entre o valor mínimo da máquina (positivo ou negativo) e o zero. A região overflow contém todos os números após o valor máximo da máquina (positivo ou negativo). Graficamente, temos algo assim:

E prontinho, finalizamos nosso exercício!! Tranquilinho, né? Até o próximo!!

Resposta

a) A máquina G representa mais números que a F.

b) F ( x m í n ) = 0.10000 × 1 0 - 9 e F ( x m á x ) = 0.99999 × 1 0 9 .

Overflow:   ( −   ∞ ,   - x m á x ) ∪ ( x m á x ,   ∞ )

Underflow:   ( −   x m í n ,   0 ) ∪ ( 0 ,   x m í n )

Exercícios de Livros Relacionados

Escreva um programa em alguma linguagem para obter o resultado da seguinte operação: S = 10000 - ∑ k = 1 n x para: a) n=10000 e x= 0.1; b)n=80000 e x=0.125.
Considere uma máquina cujo sistema de representação de números é definido por: β = 10 ,t = 4 , l = - 5eu = 5 . Pede-se:qual o menor e o maior número em módulo representados nesta máquina? como será re
Seja um sistema em aritmética de ponto flutuante de quatro dígitos, base decimal e com acumulador de precisão dupla. Dados os números: x = 0.7237 × 1 0 4 , y = 0.2145 × 1 0 - 3 e z = 0.2585 × 1 0 1 Ef
Seja o sistema 𝐹 2,3 , − 1,2 . Exiba todos os números representáveis neste sistema e coloque-os sobre um eixo ordenado.
Considere o sistema 𝐹 2,8 , 4,4 e os números: 𝑥 1 = 0.10110011 × 2 2   𝑒   𝑥 2 = 0.10110010 × 2 2     . Qual dos dois representa melhor 2.8 10 ?