Documentos de Académico
Documentos de Profesional
Documentos de Cultura
PBC Aula 04
PBC Aula 04
e Estrutura de Dados
em C/C++
2
Tipos de Erros
1. Erros na modelagem: erros obtidos pelo uso de dados experimentais
errados ou pela prpria representao matemtica errada de um modelo
Jsico.
2. Erros de truncamento: o erro devido aproximao de uma frmula
por outra:
4
Representao de Ponto fixo x Ponto flutuante
Representao de ponto fixo
23231.333448
6732.222232
0.000023
5
Representao de nmeros ponto flutuante
Um nmero R um nmero de ponto flutuante se
6
Representao de nmeros ponto flutuante
Exemplo: F=F(10,5,-2,3)
F=F(B, p, e1, e2)
B=10, p=5, e1=-2, e2=3 (e=-2,-1,0,1,2,3)
7
Representao de nmeros ponto flutuante
Exemplo: F=F(10,5,-2,3)
0 x 2 +1 x 2 +0 x 2 +0 x 2 +1 x 2
4 3 2 1 0
9
Converso de bases numricas
Mudana de base: 2 10
10
Converso de bases numricas
Mudana de base: 10 2
21.78125
21 2
1 10 2
0 5 2
(21.)10 = (10101)2
1 2 2
0 1 2
1 0
(21.)
(21.)10 = (10101)
10 = (10101) 2 = = 1x2
2 = 1x2
4 + 0x2
4 + 0x2 3 + 1x232+ 1x2 + 0x201 + 1x20
+ 0x221 + 1x2
11
Converso de bases numricas
Mudana de base: 10 2
0.78125
21.78125 X 2
1.56250
X 2
1.12500
(.78125)10 = (11001)2 X 2
0.25000
X 2
0.50000
X 2
(.78125)10 = (11001)2
1.00000
12
Converso de bases numricas
Mudana de base: 10 2
21.78125
(21.)10 (.78125)10
(10101)2 (11001)2
13
Nmeros ponto flutuante
Exemplo: F = F(2, 2, -1, 2) = F(B, p, e1, e2)
B=2, p=2, e1=-1, e2=2 (e = -1, 0, 1, 2)
#F = 2(B-1)(Bp-1)(e2-e1+1)+1
#F = 2(2-1)(21)(2+1+1)+1 = 17
0 3/8 1 3/2 2 3
14
Nmeros ponto flutuante
Exemplo: 0.6 = (0.100110011001...)2
Exemplo:
1/4 + 3/2 = 7/4 = 1.75
(0.10x2-1)2 + (0.11x21)2 = 0.001x21
+0.110x21
0.111x21
15
Representao de nmeros ponto flutuante
Formato IEEE 754
16
Representao de nmeros ponto flutuante
Formato IEEE 754
Preciso simples:
Maior nmero 3.4x1038
Menor nmero 1.18x10-38
17
Representao de nmeros ponto flutuante
Formato IEEE 754
0 10000011 01011100100...0
sinal expoente mantissa
18
Exerccio resolvido
Exerccio: Resolva o somatrio a seguir e compare com o resultado obtido
pelo algoritmo.
int i;
float soma;
soma = 0.0;
i = 1;
printf("%f\n", soma);
19
Exerccio proposto
20