Você está na página 1de 24

Ponto flutuante

Arquitetura e Organização de computadores

1
Representação em Ponto flutuante
Representação em Ponto flutuante
⚫Conversão de decimal para binário (fracionário).
⚫I)Parte inteira: divisões (por 2) sucessivas, até que o
quociente=0. Binário formado pelos restos.
⚫II)Parte fracionária: multiplicar parte fracionária por 2 até
que o resultado=1.0. Binário formado pela parte inteira.
⚫Ex.: 5.625
I II IeII
5 2
1 2 2
0 1 2
1 0
Representação em Ponto flutuante
⚫Conversão de decimal para binário (fracionário).
⚫Ex.: 10.372
Introdução
Representação em Ponto Fixo
Representação em Ponto Fixo
Representação em Ponto Fixo
Representação em Ponto Fixo
Representação em Ponto flutuante
Representação em Ponto flutuante
Representação em Ponto flutuante

(ou MANTISSA)
Representação em Ponto flutuante
Representação em Ponto flutuante
⚫Representação em excesso de 4
⚫Para k=3, temos:

Decimal Valor sem sinal Excesso


0 000 -4
1 001 -3
2 010 -2
3 011 -1
4 100 0
5 101 1
6 110 2
7 111 3
Representação em ponto flutuante

⚫Cálculo em ponto flutuante (8 bits)


⚫ Transforme 1 010 1001 em decimal, com k=3.
⚫ I) sinal 1 → -
⚫ II) expoente 010 → -2 (ver tabela)
⚫ III) significando 1001 → 1.001 (notação científica)

⚫ II e III) 1.001x2-2 = 1001x2-5 = 9x0,03125 = 0,28125

⚫ I, II e III) -0,28125

15
Representação em ponto flutuante

⚫Cálculo em ponto flutuante (8 bits)


⚫ Transforme 3.25 em binário, onde k=3.
⚫ I) sinal + → 0
⚫ II) converter 3.25 em binário (int.frac)
⚫ int = 310 → 112
⚫ frac = 0.2510 → 0.012

⚫3.2510→ 11.012x20→ 1.1012x21 (notação científica)


⚫ III) expoente (em excesso)
⚫ d=1 → 101 (ver tabela)
⚫3.2510→ 0 101 1101

16
Formatos de Números em Ponto Flutuante

17
Padrão IEEE 754
⚫Notação científica: binários (32 bits)

18
Padrão IEEE 754
⚫Converter 118.625 para binário
⚫a) Estudo do sinal
⚫b) converter para binário
⚫Por na notação “int.frac”
⚫c) Normalizar (notação científica)
⚫Computar deslocamentos (d)
⚫Computar parte fracionária normalizada

⚫d) Calcular o expoente (em binário)


⚫e=2k-1-1+d = 28-1-1+d = 27-1+d = 128-1+d = 127+d

⚫e) Gerar o binário


⚫Completar com zeros à direita se necessário.

19
Padrão IEEE 754
⚫Ex1: Converter 118.625 para binário
⚫a) positivo → 0 ATENÇÃO: Apenas parte fracionária.
⚫b) 11810 → 11101102
0.62510 → 0.1012
⚫c) 1110110.101 -> 1.110110101x26

⚫d) 6+127 = 133 = 10000101

0_ 1_ 0_ 0_ 0_ 0_ 1_ 0_ 1_ 1_ 1_ 0_ 1_ 1_ 0_ 1_ 0_ 1_ 0_ 0_ 0_ 0_ 0_ 0_ 0_ 0_ 0_ 0_ 0_ 0_ 0_ 0_

20
Padrão IEEE 754
⚫Ex2: Converter -0.21875 para binário
⚫a) negativo → 1 ATENÇÃO: Apenas parte fracionária.
⚫b) 010 → 02
0.2187510 → 0.001112
⚫c) 0.00111 = 1.11x2-3

⚫d) -3+127 = 124 = 01111100

1_ 0_ 1_ 1_ 1_ 1_ 1_ 0_ 0_ 1_ 1_ 0_ 0_ 0_ 0_ 0_ 0_ 0_ 0_ 0_ 0_ 0_ 0_ 0_ 0_ 0_ 0_ 0_ 0_ 0_ 0_ 0_

21
Padrão IEEE 754
⚫Converter binário para decimal
⚫a) Estudo do sinal
⚫b) Calcular o deslocamento
⚫exp = d+127 -> d = exp-127
⚫c)Deslocar ponto (cuidado com o “1.”)
⚫d) Gerar o decimal

22
Padrão IEEE 754
⚫Ex3: Converter 0 10000010 00100000...0 para decimal
⚫a) 0 → +
⚫b) exp=100000102 -> 13010
⚫exp = d+127 -> d = 130-127 -> d = 3
⚫c)1.0010...02 (o “1.” não inserido)
⚫1.001x23 = 10.01x22 = 100.1x21 = 1001x20 =9

⚫d) +9.0

23
Padrão IEEE 754
⚫Ex4: Converter 1 10000011 10010110...0 para decimal
⚫a) 1 -> -
⚫b) exp=100000112 -> 13110
⚫131 = d+127 -> d = 131-127 -> d = +4
⚫c)1.10010110...0 (“1.” não inserido)
⚫1.10010110...0x24 =
⚫11.0010110...0x23 =
⚫110.010110...0x22 =
⚫1100.10110...0x21 =
⚫11001.0110...0x20 = 25.375

⚫d) -25.375

24

Você também pode gostar