Exercícios Resolvidos de Aritmética de Ponto Flutuante

Ver Teoria

Enunciado

Seja um computador binário, cujo sistema de ponto flutuante tenha 1   b i t para o sinal do número, 5   b i t s para o expoente e 6   b i t s para a mantissa num total de 12   b i t s . Qual o menor número positivo e o maior número positivo nele representável.

Passo 1

Como temos 5   b i t s para o expoente, o expoente máximo é dado por:

e m a x = 2 5 - 1 - 1 = 2 4 - 1 = 15

Portanto, o expoente mínimo será - 14 .

Também podemos pensar que a máquina vai do expoente 00001 até o 11110 , ou seja, do 1 ao 30 . Como queremos representar os números negativos também, subtraímos 15 , de modo que os expoentes agora variam de - 14 até 15 .

Passo 2

Para obter o maior número, devemos ter o maior expoente e a maior mantissa.

- O maior expoente: 15

- A maior mantissa: f= 0. (111111)

Colocando a mantissa na base decimal:

0.111111 2 = 2 - 1 + 2 - 2 + 2 - 3 + 2 - 4 + 2 - 5 + 2 - 6 = 2 0 - 2 - 6

O valor máximo é dado por:

2 15   ∙   1 + 2 0 - 2 - 6

Sendo assim, o valor máximo que ela pode representar é:

2 15 ∙ 2 - 2 - 6 = 65024

Passo 3

O valor mínimo normalizado é dado por:

- O menor expoente: -14

- A menor mantissa: f= . (000000)

Observação: Só podemos ter essa mantissa toda 0 porque o valor normalizado já conta com um dígito 1 antes da vírgula.

Assim, o valor mínimo normalizado será:

2 - 14   ∙   1 + 0 = 2 - 14 = 6.103515625   x   10 - 5

Passo 4

O valor mínimo não normalizado é bem parecido, mas tem a seguinte diferença: não tem aquele 1 antes da vírgula. Então, para obter o valor mínimo, devemos considerar 0 antes da vírgula e o máximo de 0s possíveis na mantissa, colocando 1 apenas no dígito de menor valor. Assim:

- A menor mantissa: f= 0. (000001)

Passando a mantissa para a base decimal:

2 - 6

Assim, o menor valor não normalizado é dado por:

2 - 14   ∙   2 - 6 = 2 - 20 = 9.53674316   x   10 - 7

Resposta

Maior número positivo: 65024

Menor número positivo normalizado: 6.103515625 × 10 - 5

Menor número positivo não normalizado: 9.5367431640625 × 10 - 7

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 ?