View
218
Download
0
Category
Preview:
DESCRIPTION
Infraestrutura de Hardware
Citation preview
1
UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO
UNIDADE ACADEMICA DE SERRA TALHADABacharelado em Sistemas da Informacao
Infra-Estrutura de Hardware - 5◦ Perıodo
2
Nocoes de Aritmetica de Maquina
Carlos Andre Batista
26 de marco de 2009
2
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
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
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.
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.
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
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
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.
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
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.
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.
Recommended