Escolar Documentos
Profissional Documentos
Cultura Documentos
Ponto flutuante
A representação numérica em ponto flutuante de qualquer número no
computador segue o seguinte esquema:
onde
Exemplo 1
Suponha um computador cujo conjunto numérico N1 (Fig 1) seja definido
pelos seguintes parâmetros:
(sinal) 0. d1 × 10 exp
Fig 1. Representação 0 1 2 3 4 5 6 7 8 9
do conjunto N1.
O zero está represen-
tado apenas como 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9
referência, mas
não pertence ao
conjunto de pontos. 0.01 0.02 0.03 0.04 0.05 0.06 0.07 0.08 0.09
Exemplo 2
Para uma máquina com base B = 10, mantissa m = 3 ( três algarismos sig-
nificativos), e expoente exp no intervalo [-6,6].
Exemplo 3
Para uma base B = 10 e mantissa m = 5 (cinco algarismos significativos), e
expoente exp no intervalo [-4,4].
S EEEEEEEEEEE
MMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMM
MMMMMMMMMMM
Truncamento e arredondamento
Em todos os exemplos acima, os números que possuíam um número
maior de dígitos que o da mantissa foram truncados (na posição m + 1)
e arredondados. Também não existe uma única maneira de fazer isso,
mas a maioria dos compiladores segue normas bem definidas. Vejamos
as duas mais usuais:
Observações:
a = 0.4
b = 0.5
c = 0.6
→→ Primeiro passo: (0.5 + 0.6) = 1.1 (que será arredondado como na re-
gra acima) ⇒ (0.5 + 0.6) =1;
→→ Segundo passo: 0.4 + 1.0 = 1.4 (que será arredondado como na regra
acima) ⇒ 0.4 + 1.0 = 1 (resultado final).
Observação:
Ao efetuarmos os cálculos nos computadores, a cada operação o resulta-
do é arredondado. Esse procedimento automático nas máquinas é difícil
de ser reproduzido quando estamos fazendo as contas manualmente.
Portanto, sempre que for solicitado efetuar um cálculo com aritmética de
ponto flutuante não esquecer de truncar e arredondar a cada operação.
Todos esses fatores — conjunto finito para a representação numérica,
não-comutatividade, não-associatividade, precisão da representação —
podem causar grandes impactos nos algoritmos. Um erro de arredonda-
mento introduzido no início do processo (na entrada de dados) pode ser
propagado para todas as operações definidas no algoritmo. Dependendo
do caso, isso pode causar até a não-convergênciada solução numérica.
Observações: