Exercícios Resolvidos de Aritmética de Ponto Flutuante

Ver Teoria

Enunciado

2. Considerando uma máquina com expoentes limitados F(10, 4, −5, 5) e as entradas a = 4245, b = 300 e c = 100.

(a) Qual o resultado obtido na máquina F para X = (a × b)/c e Y = a × (b/c)?

(b) Os resultados de X e Y foram iguais? Houve algum tipo de erro numérico durante os cálculos? Exemplifique.

Passo 1

Opa, pessoal, tudo joia? Vamos continuar vendo alguns conceitos de cálculo numérico. Nesse segundo exercício, mais uma vez veremos máquinas para representação de números em computadores! Como já vimos, elas 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.

Vemos então que nossa máquina possui base 10, 4 dígitos e expoente que varia entre -5 e 5. Logo, um número real x deve ser escrito da forma: F ( x ) =   ± 0 .   d 1 d 2 d 3 d 4 × 10 e , onde 0 ≤ d i ≤ 9 ,   p a r a   i = 1,2 , 3 , 4 , c o m     d 1 ≠ 0 ,   e   ϵ   [ - 5 ,   5 ] .

Passo 2

Nosso primeiro passo é converter as entradas a, b e c para o sistema da máquina. Assim, obtemos: F ( a ) = 0.4245 × 1 0 4 , F ( b ) = 0.3000 × 1 0 3 e F ( c ) = 0.3000 × 1 0 3 . Em seguida, vamos efetuar as operações X e Y, mas não podemos esquecer de obedecer a ordem dos parênteses! ;) Vamos lá!

X = a × b c = 0.4245 × 1 0 4 × 0.3000 × 1 0 3 0.1000 × 1 0 3 = 0.12735 × 1 0 7 0.1000 × 1 0 3 : Overflow no numerador (expoente maior que 5)

Y = a × ( b c ) = 0.4245 × 1 0 4 × 0.3000 × 1 0 3 0.1000 × 1 0 3 = 0.4245 × 1 0 4 × 3 = 1.2735 ⋅ 1 0 4 = 0.1274 × 1 0 5

Super tranquilo!

Resposta

a) A operação X gera overflow e Y = 0.1274 × 1 0 5 .

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 ?