Sistemas de Ponto Flutuante
Tarefa 3 - Sistemas de Ponto Flutuante
Análise Númerica
Felipe Ciacia de Mendonça
CCT - UDESC - Joinville
Resolução dos Exercicios:
Exercicio 1.
Determine 453.568 no sistema F(10,5,-4,4) normalizado. Use truncamento.
Primeiro passamos o número para a forma de base de 10:
453.568 = 0.453568 * 10³ (NA BASE 10).
Porém, o sistema permite apenas até 5 casas após a vírgula, então retiramos o último número (8) utilizando o truncamento ficando assim:
0.45356 *
Então concluimos normalizando o número 453.568 no sistema F(10,5,-4,4) : 0.45356 *
Exercicio 2.
Determine 45.23 no sistema F(2,7,-4,5), normalizado.
Como o sistema é na base binária, primeiro convertemos o número para a base binária:
Convertemos a parte inteira separadamente da parte fracionária: convert(45,binary); convert(0.23,binary);
101101
0.001110101110
Então juntamos as parte inteira e fracionária: 101101.001110101110
Passamos para a forma de base de 2: 0.101101001110101110 *
Porém o sistema é até
então temos um caso de overflow.
Exercicio 3.
Determine 53.3876 no padrão IEEE 754 com precisão simples.
(1.2.1)
Primeiro convertemos o número para a forma binária: restart: convert(53,binary); convert(0.3876,binary); 110101
0.01100011001
Então temos que o número 53.3876 convertido para binário é:
Passamos para a forma de notação cientifica binária normalizada: 1.
(1.3.1)
*
Agora para determinar a mantissa pegamos o número 23 padrão e subtraimos a quantidade de números após a vírgula do valor acima:
1.
= 16 números.
23 - 16 = 7.
Então adicionamos 7 'zeros' após o número na mantissa: m= 0000000 ;
Agora somamos o valor do expoente da base 2 + o número 127 para achar o valor de E:
E = 127 + 5 -> E = 132.
Convertemos esse valor para binário: convert (132, binary);
10000100
(1.3.2)
Agora juntamos o [0] relativo ao sinal com [10000100] relativo ao expoente, com [1] que é o bit implicito, e por final [10101011000110010000000]