14
1 UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO UNIDADE ACAD ˆ EMICA DE SERRA TALHADA Bacharelado em Sistemas da Informa¸ ao Infra-Estrutura de Hardware - 5 Per´ ıodo

AritPontFlut

Embed Size (px)

DESCRIPTION

Infraestrutura de Hardware

Citation preview

Page 1: AritPontFlut

1

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO

UNIDADE ACADEMICA DE SERRA TALHADABacharelado em Sistemas da Informacao

Infra-Estrutura de Hardware - 5◦ Perıodo

Page 2: AritPontFlut

2

Page 3: AritPontFlut

Nocoes de Aritmetica de Maquina

Carlos Andre Batista

26 de marco de 2009

Page 4: AritPontFlut

2

Page 5: AritPontFlut

Sumario

0.1 Erros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30.1.1 Classificacao de Erros . . . . . . . . . . . . . . . . . . . 3

0.2 Nocoes de Aritmetica de Maquina . . . . . . . . . . . . . . . . 40.2.1 Distribuicao Nao-Uniforme dos Numeros de Maquina . 5

0.3 Operacoes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60.4 Exercıcios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80.5 Bibliografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

0.1 Erros

Sao provenientes da diferenca entre o resultado exato e o resultado de umaoperacao numerica realizada por uma maquina (computador ou calculadora).Pois, como as maquinas tem seus limites de precisao, nao e possivel represen-tar todos os numeros reais de um dado intervalo corretamente, muitos delesserao truncados ou arredondados para poder serem utilizados.

0.1.1 Classificacao de Erros

Podemos classificar os erros como sendo inerentes ou originados a partir detruncamentos.

Inerentes - Sao erros que o usuario nao tem condicoes de evita-los. Elessurgem de modelos matematicos, medidas, etc.

Exemplo: Calcular o comprimento de uma circunferencia a partir damedida do raio r = 10cm, usando a expressao C = 2πr. Solucao: Temosentao que C ∼= 2× 10× 3, 14159254...cm ∼= 62, 83185307...cm, ou seja, comonao temos como dar um resultado exato, ja que π e um numero irracional,entao em algum momento arredondamos o numero π para termos algumvalor para mostrar, como por exemplo, podemos dizer que a nossa medida deC ∼= 62, 83cm. Nao e um valor exato, mas pode ser uma aproximacao muitoboa, dependendo da aplicacao ao qual a medida se destina. No entanto, oerro, por menor que seja, e inevitavel.

3

Page 6: AritPontFlut

4 SUMARIO

Truncamentos - Sao erros que surgem quando substitui-se um processomatematico infinito por uma parte finita dele.

Exemplo: No calculo de

ex =∞∑

k=0

xk

k!

usa-se, ao inves de infinitas parcelas, um numero natural n, obtendo portanto,um valor aproximado

ex ∼=n−1∑k=0

xk

k!.

Arredondamentos - E o processo mediante o qual se eliminam algaris-mos de menor significancia a um numero real.

Representacoes de ErrosAbsoluto - ∆x - e a diferenca entre o valor exato e o valor aproximado,

isto e,∆x = x− x

, onde x e o valor exato e x e o valor aproximado.Relativo - δx - e o quociente entre o erro absoluto e o valor exato, isto

e,

δx =∆x

x=

x− x

x

Percentual - px - e apenas o produto do erro relativo por 100%, isto e,

px = 100× δx×%

.

0.2 Nocoes de Aritmetica de Maquina

Numero de Maquina Definicao: Um numero real x e dito um numero demaquina (ou de ponto flutuante normalizado) se valem:

1. x = m× be

2. m = ±d1, d2d2...dt, t ∈ N

3. d1 6= 0, 0 ≤ di ≤ (b− 1), i = 2, 3, 4, ..., t

4. e1 ≤ e ≤ e2; e1, e2 ∈ Z

Page 7: AritPontFlut

0.2. NOCOES DE ARITMETICA DE MAQUINA 5

onde:b e a base b ≥ 2, b ∈ N e e o expoente (caracterıstica), e ∈ Z m e a

mantissa normalizada. Ela e um numero frecionariop tal que b−1leq|m| < 1t e o numero de dıgitos usados na representacao da mantissa normalizada di

sao os dıgitos da mantissa. di ∈ {0, 1, 2, ..., (b− 1)}.Observacoes:

1. d1 6= 0 ⇒ representacao unica

2. 0 e numero de maquina, representado por 0, 000...0× be1

3. Se x e um numero de maquina, −x tambem e.

4. Menor Numero Positivo: 1, 00...00× be1

5. Maior Numero: (b− 1), (b− 1)(b− 1)...(b− 2)× be2

O conjunto de todos os numeros de maquina e chamado de Sistema dePonto Flutuante, e neste curso, representaremos por:

F (b, t, e1, e2)

.Proposicao: O conjunto do numeros de maquina e um subconjunto

finito dos numeros racionais.Prova:

1. F ⊂ Q

2. n(F ) = 2× (b− 1)× bt−1 × (e2 − e1 + 1) + 1

0.2.1 Distribuicao Nao-Uniforme dos Numeros de Maquina

Proposicao: Fixado o expoente e, a distancia entre dois numeros de maquinaconsecutivos de uma maquina qualquer F (b, t, e1, e2) com as mantissas nor-malizadas e dado por be−t.

Arredondamento Definicao: Seja F (b, t, e1, e2) um sistema de pontoflutuante. A funcao � : R → F e chamada arredondamento se:

1. �x = x; se x ∈ F

2. se x ≤ y, entao �x ≤ �y

3. Se x /∈ F , entao entre x e �x nao existem elementos de F.

Page 8: AritPontFlut

6 SUMARIO

Underflow

Overflow

M’ m’ 0 m M

���

BBBN

XXXXXXXXXXXXy

������������:

Figura 1: Regioes de Underflow e Overflow.

Tipos de arredondamentos:

1. Assimetrico:Se x ≥ 0 : �x ≤ xSe x < 0 : �x ≥ x|x− �x| < be−t

2. Simetrico:Representado por Ox, sera o numero de maquina mais proximo. Se xfor equidistante de dois numeros de maquina consecutivos, Ox sera onumero de maquina de maior valor absoluto dentre esses dois.

|x−Ox| ≤ be−t

2

0.3 Operacoes

Sejam F (b, t, e1, e2) um sistema de ponto flutuante e xI = mI × deI e xII =mII × deII com xI , xII ∈ F .

Para as operacoes fundamentais se admite que a maquina possui dıgitosde reserva, com as vistas a possivel necessidade de arredondamento.

Adicao: Esta operacao e definida como

+ : F : F → F

(xI , xII) 7→ x = xI + xII

Ela e efetuada obedecendo aos passos do seguinte algoritmo. Nela naovale a Lei do Corte Aditivo e a Propriedade da Associatividade.

Page 9: AritPontFlut

0.3. OPERACOES 7

Algoritmo

igualar potencias1 SE c1 6= c2 ENTAO

SE c1 < c2 ENTAOm1 = m1 × bc1−c2

c = c2SENAO

m2 = m2 × bc2−c1

c = c1FIM SE

FIM SE

2 m = m1 + m2;

nomalizar a mantissa3 SE |m| ≥ 1 ENTAO

m = m× b−1

c = c + 1SE c > e2 ENTAO

IMPRIMA ”Overflow”FIM DO PROGRAMA

FIM SEFIM SE

laco para normalizar a mantissa4 ENQUANTO |m| < 1

m = m× bc = c− 1SE c < e1 ENTAO

IMPRIMA ”Underflow”FIM DO PROGRAMA

FIM SEFIM ENQUANTO

5 m = O(m)

6 x = m× bc

7 FIM DO PROGRAMA

Page 10: AritPontFlut

8 SUMARIO

Subtracao: Equivale a adicao, ja que

xI − xII = xI + (−xII)

.Multiplicacao: E definida como,

x : F × F → F

(xI , xII) 7→ x = xI × xII = mI × xII × beI+eII

.Nela nao valem: Lei do Corte Multiplicativo, Propriedade a Associativi-

dade e Distributividade.Obs.: O resultado devera sempre ser normalizado e arredondado.Inverso Multiplicativo: Dado x = m× be 6= 0, seu inverso multiplica-

tivo vem a ser y ∈ F tal que x×y esta mais proximo de 1 do que x× z, ondez e um outro elemento qualquer de F . Normalmente y e denotado por x−1

(pseudo-inverso).Problema: Nem sempre o inverso do inverso de um numero e ele mesmo.Divisao: A operacao

/ : F × F → F

(xI , xII) 7→ x =xI

xII

, xII 6= 0.

pode ser efetuada de dois modos:

1. xI

xII= xI × x−1

II

2. xI

xII=

(mI

mII

)× beI−eII

0.4 Exercıcios

1. Dada a maquina F (10, 4,−9, 9), encontre:

(a) O maior numero

(b) O menor numero positivo

(c) O numero de mantissas normalizadas

(d) O numero de expoentes

(e) O numero de elementos que esta maquina possui.

(f) As regioes de Underflow e Overflow

Page 11: AritPontFlut

0.4. EXERCICIOS 9

2. Dada a maquina F (2, 8,−12, 12), encontre:

(a) O maior numero

(b) O menor numero positivo

(c) O numero de mantissas normalizadas

(d) O numero de expoentes

(e) O numero de elementos que esta maquina possui.

(f) As regioes de Underflow e Overflow

(g) A representacao interna de 12,3

3. Dado F como definido na questao 1, determine a distancia entre osnumeros de maquina consecutivos abaixo:

(a) x1 = 3, 457× 10−9 e x2 = 3, 458× 10−9

(b) y1 = 3, 457× 109 e y2 = 3, 458× 109

4. Dado F como definido na questao 1, arredonde assimetrica e simetri-camente os numeros abaixo:

(a) x1 = 3, 45742× 10−2

(b) x2 = 3, 45773× 10−5

(c) x3 = 0, 235249895× 102

(d) x4 = 0, 045780102× 10−9

(e) x5 = 1, 3457996× 109

5. Dado F como definido na questao 1, realize as seguintes operacoes,arredondando simetrica e assimetricamente os resultados: x1 = 0, 6234×102, x2 = 0, 2246× 101, x3 = 0, 5590× 103, x4 = 0, 5554× 10−2

(a) x1 + x2

(b) x1 − x2

(c) x3 × x4

(d) x3/x4

(e) x3 × x−14

6. Dado F como definido na questao 1, verifique alguns problemas comoperacoes fundamentais quanto as propriedades ou leis citadas em cadaquestao.

Page 12: AritPontFlut

10 SUMARIO

(a) Adicao:Lei do corte aditivo: Sejam a, b e c ∈ R. Se a + b = a + c Entaob = cLei da associatividade: Sejam a, b e c ∈ R. Temos (a + b) + c =a + (b + c).

i. a = 3, 245× 101

b = 4, 587× 10−3

c = 8, 794× 10−4

ii. a = 31, 46b = 0, 004256c = 0, 0009678

(b) Multiplicacao:

Associatividade multiplicativa: Sejam a, b e c ∈ R. Temos (a ×b)× c = a× (b× c).

i. a = 6, 004× 10−1

b = 6, 005× 10−1

c = 6, 006× 10−1

ii. a = 2, 511× 10−1

b = 1, 001× 10−1

c = 3, 131× 10−1

Distributividade multiplicativa: Sejam a, b e c ∈ R. Temos a ×(b + c) = a× b + a× c).

i. a = 4, 121× 10−1

b = 1, 214× 10−3

c = 3, 124× 10−3

ii. a = 5, 121× 100

b = 2, 214× 10−3

c = 2, 124× 10−3

(c) Inverso multiplicativo: Sejm a ∈ R, a 6= 0. Logo, a × a−1 e(a−1)−1 = 1

Page 13: AritPontFlut

0.4. EXERCICIOS 11

i. a = 9, 900× 101

ii. a = 8, 700× 101

Divisao:Sejam a, b ∈ R, b 6= 0. Logo, a/b = a× 1/b.

i. a = 1, 300× 100

b = 7, 000× 10−1

ii. a = 1, 550× 100

b = 8, 700× 10−1

Curiosidade:Sejam a, b ∈ R. Logo, (a− b)2 = a2 − 2ab + b2.

i. a = 3, 473× 10−1

b = 3, 472× 10−1

ii. a = 5, 003× 100

b = 5, 004× 100

7. Para a maquina F (10, 3,−5, 5) e com arredondamento simetrico, de-termine:

(a) Quantos numeros reais tem representacao exata nessa maquina.

(b) Quais as regioes de underflow e overflow? De exemplos de situacoesem que ocorrem esses problemas.

8. Para a maquina F (2, 6,−3, 4), com arredondamento simetrico, indique:

(a) Quantos sao as mantissas normnalizadas para um dado expoente;

(b) Quantos e quais sao os expoentes;

(c) Quantos numeros tem representacao nessa maquina;

(d) Qual o maior numero aceitavel na base 10;

(e) Qual o menor numero positivo aceitavel na base 10;

(f) Qual a menor distancia (”‘gap”’) entre dois numeros consecutivos

(g) Quais as regioes de underflow e overflow?

(h) Qual a representacao interna de 12.4;

(i) De exemplos nas operacoes de adicao, subtracao, etc, em que ocor-rem problemas de underflow e overflow.

9. Idem para F (2, 6,−4, 3) e na letra h)5.7.

10. Represente na reta real todos os numeros do sistema F (2, 3,−1, 2),indicando inclusive as regioes de underflow e overflow.

Page 14: AritPontFlut

12 SUMARIO

11. Verifique se pode existir um sistema de ponto flutuante com e1 = −2,e2 = 5, t = 2 que possua 37 elementos.

12. Considere a serie de termos positivos:

∞∑n=0

1

3i

. Calcule, usando F(10,4,-9,9), o valor aproximado desta serie, efet-uando a soma dos 5 primeiros termos da mesma, de dois modos difer-entes:

(a) n variando de 0 a 4, ou seja, da esquerda para a direita.

(b) n variando de 4 a 0, ou seja, da direita para a esquerda.

Os dois resultados encontrados sao iguais? Se nao, qual deles esta maisproximo do valor exato? Justifique.

13. Dado o sistema de ponto flutuante F (10, 3,−5, 5), determine a cardi-nalidade de F e de exemplo de nao validade da associatividade, distrib-utividade, lei do corte (aditivo e mutiplicativo) e de que (a− b)2 podeser diferente de a2 − 2ab + b2, e que esta ultima expressao pode aindaser obter um resultado negativo.

0.5 Bibliografia

• Calculo Numerico - Aspectos Teoricos e Computacionais - Rug-giero & Lopes - Ed. Makron Books - 2a Ed. - 1996.

• Calculo Numerico Computacional - Claudio & Marins - Ed. AtlasS. A. - 2a Ed. - 1994.