Você está na página 1de 5

Universidade Federal Fluminense

Introdução à Aritmética do Computador

IBM Compatible

Universidade Federal Fluminense

Introdução
Introdução àà Aritmética
Aritmética do
do Computador
Computador

O sistema de ponto flutuante normalizado (SPF) é usado nos


processadores para representar (internamente) e operar os números reais. Neste
sistema um número real é escrito na forma:

±0.c1c2 cn × b
e expoente

base
mantissa

na qual ci, para i = 1, 2, ..., n, é um caráter (no caso geral), b é um número natural e
e é um número inteiro.

Exemplo 1: OBS:

3 = (3)10 = +0.3 ×10 1


(3)10 = 3 ×100 = 3
3 = (11) 2 = +0.11× 22 (11)2 = 1× 21 + 1× 20 = 2 + 1 = 3

Introdução à Aritmética do
Computador 1
Universidade Federal Fluminense

Introdução
Introdução àà Aritmética
Aritmética do
do Computador
Computador

O sistema de ponto flutuante de um processador tem os seguintes


parâmetros definidos (escolhidos) durante seu projeto:
1) o número de caracteres da mantissa, n
2) o valor da base, b, com b ≥ 2
3) os valores do menor, e1, e do maior, e2, expoentes do sistema, com e1 ≤ 0 e e2 ≥ 1

Conseqüentemente, o conjunto de números reais que um SPF pode representar é:

NSPF (b, n, e1 , e2 ) = {zero} ∪ NPF (b, n, e1 , e2 )


na qual

NPF (b, n, e1 , e2 ) := { x ∈ ; ( x)b = ±0.c1c2 cn × b e ,


com 1 ≤ c1 ≤ b − 1, 0 ≤ ci ≤ b − 1 para i = 2, ,n e
e1 ≤ e ≤ e2 }
OBS: (0)b = +0.00 0 × be1
n zeros

Universidade Federal Fluminense

Introdução
Introdução àà Aritmética
Aritmética do
do Computador
Computador

Características e propriedades do conjunto NSPF (b, n, e1 , e2 )


1) Menor número positivo: x1 = +0.1 0 0 × be1
n −1 zeros

2) Maior número: x2 = +0. c1 cn × be2


n caracteres que presentam o número b −1

3) Quantidade de números: m = 2 × (b − 1) × b n −1 × ( e2 − e1 + 1) + 1

Representação do conjunto na reta real:

− x2 − x1 x1 x2

( −∞, − x2 ) ∪ ( x2 , + ∞ ) → região de overflow ( − x1 , 0 ) ∪ ( 0, x1 ) → região de underflow


[ − x2 , − x 1 ] ∪ [ x1 , x2 ] → região de representação

Introdução à Aritmética do
Computador 2
Universidade Federal Fluminense

Introdução
Introdução àà Aritmética
Aritmética do
do Computador
Computador
4) A distribuição dos números do conjunto na reta real não é uniforme.
Exemplo 2: Considere o seguinte conjunto: NPF (b = 2, n = 3, e1 = −1, e2 = 2)

Números positivos do conjunto (na base 2 e 10):

Mantissas
e be 0.100 0.101 0.110 0.111
-1 ½ 1/4 5/16 3/8 7/16
0 1 1/2 5/8 3/4 7/8
1 2 1 5/4 3/2 7/4
2 4 2 5/2 3 7/2

Representação na reta real (base 10):


1 7 5 3 7 5 7
4 16 8 4 8 4 4

x1
x2

Universidade Federal Fluminense

Introdução
Introdução àà Aritmética
Aritmética do
do Computador
Computador

5) Os resultados das operações aritméticas realizadas em um SPF nem sempre


são corretos.

5 3
Exemplo 3: x := e y := , x, y ∈ NSPF (b = 2, n = 3, e1 = −1, e2 = 2)
4 8

13
x+ y = 1, 625 ∉ NSPF (b = 2, n = 3, e1 = −1, e2 = 2)
8
3 7
x ⊕ y = ou
2 4

Introdução à Aritmética do
Computador 3
Universidade Federal Fluminense

Introdução
Introdução àà Aritmética
Aritmética do
do Computador
Computador
6) As propriedades das operações aritmética dos números reais nem sempre são
verificadas em um SPF
5 3 3
Exemplo 4: x := , y := e z := , x, y, z ∈ NSPF (b = 2, n = 3, e1 = −1, e2 = 2)
8 8 4
7
x+ y+z = ∈ NSPF (b = 2, n = 3, e1 = −1, e2 = 2)
4
7
( x ⊕ y ) ⊕ z = Verificar!
4
9 9
x ⊕ ( y ⊕ z) = x ⊕ e ∉ NSPF (b = 2, n = 3, e1 = −1, e2 = 2)
8 8

Exercício 1:
Fazer o projeto Precisão da Máquina, página 24 da primeira referência bibliográfica
do curso.

Compilador Fortran Wg77: www.dcc.ic.uff.br/jreed/Wg77.htm

Universidade Federal Fluminense

Introdução
Introdução àà Aritmética
Aritmética do
do Computador
Computador

Arredondamento x ∈ mas x ∉ NSPF (b, n, e1 , e2 ) função de arredondamento


f: → NSPF (b, n, e1 , e2 )
Tipos de funções de arredondamento: x x = f ( x)
a) para cima,
b) para baixo,
c) para o número de máquina mais próximo.

Erros gerados no arredondamento:


x ∈ [ − x2 , − x 1 ] ∪ [ x1 , x2 ]
1) Na região de representação
mas x ∉ NSPF (b, n, e1 , e2 )

Se f é a função de arredondamento para o número de máquina mais próximo


então,
| f ( x) − x | 1 1−n
≤ b
|x| 2

Introdução à Aritmética do
Computador 4
Universidade Federal Fluminense

Introdução
Introdução àà Aritmética
Aritmética do
do Computador
Computador
2) Na região de underflow x ∈ ( − x1 , 0 ) ∪ ( 0, x1 )

| f ( x) − x | ⎧= 1, se f ( x) = 0

| x| ⎩ → ∞ quando x → 0, se f ( x) = x1

− x2 − x1 x1 x2

3) Na região de overflow x ∈ ( −∞, − x2 ) ∪ ( x2 , + ∞ )

| f ( x) − x |
→ 1 quando x → ∞
| x|
OBS: | f (x) | = x2

Universidade Federal Fluminense

Introdução
Introdução àà Aritmética
Aritmética do
do Computador
Computador

ARIANE 5: UM ERRO NUMÉRICO (OVERFLOW) LEVOU À FALHA NO


PRIMEIRO LANÇAMENTO

Em 4 de junho de 1996, menos de um


minuto após o lançamento, o foguete francês
Ariane 501 se autodestruiu. Era o primeiro
lançamento da série Ariane 5 e, logo em seguida,
foi indicada pelo CNES (Centro Nacional de
Estudos Espaciais) e pela ESA (Agência Espacial
Européia) uma comissão presidida pelo
matemático francês Jacques-Louis Lions, do
Colégio de França, para investigar a ocorrência.

A avaliação dessa comissão indica um


erro no software de controle como a origem na
falha do lançamento.

http://magnum.ime.uerj.br/~demoura/FAPERJ-SBM/ariane/

Introdução à Aritmética do
Computador 5

Você também pode gostar