Escolar Documentos
Profissional Documentos
Cultura Documentos
2002
Juliana F. Camapum Wanderley
http://www.cic.unb.br/docentes/juliana/cursos/oac
Revisão
PF aproximam valores que queremos utilizar.
Padrão IEEE 754 para PF é uma tentativa de
padronização amplamente aceita de tais números.
Novos registradores MIPS ($f0-$f31), e instruções:
Precisão Simples (32 bits, 2x10-38… 2x1038): add.s, sub.s,
mul.s, div.s
Precisão Dupla (64 bits , 2x10-308…2x10308): add.d, sub.d,
mul.d, div.d
1
Panorama
Números Especiais
2
Representação para Not a Number
Qual o resultado do cálculo: sqrt(-4.0) ou 0/0?
Se infinito não é um erro, estes não deveriam ser também.
3
Representação para Não-Normalizados (1/2)
a - 0 = 2-127
Gap! Gap!
b - a = 2-150 b
- +
0 a
OAC – Ponto Flutuante – Parte II - 7 Juliana F Camapum Wanderley
4
Arredondamento
Quando se realiza cálculos matemáticos com números
reais, temos de nos preocupar com arredondamento.
5
Arredonda para o par
Arredonde como você aprendeu na escola.
Exceto se o valor está exatamente na divisa, neste caso
arredondamos para o número PAR mais próximo.
2.5 -> 2
3.5 -> 4
(float) exp
converte inteiro para o float mais próximo.
f = f + (float) i;
6
int -> float -> int
if (i == (int)((float) i)) {
printf(true);
}
Não vai funcionar sempre
7
Falácias em Ponto Flutuante
Soma e Subtração PF são associativas: FALSO!
x = – 1.5 x 1038, y = 1.5 x 1038, e z = 1.0
x + (y + z) = –1.5x1038 + (1.5x1038 + 1.0)= –1.5x1038 +
(1.5x1038) = 0.0
(x + y) + z = (–1.5x1038 + 1.5x1038) + 1.0= (0.0) + 1.0 =
1.0