Escolar Documentos
Profissional Documentos
Cultura Documentos
235=200+ 30+5
2 1 0
235=2. 10 +3 . 10 +5 . 10
235 , 12=200+30 +5+0 ,1+0 , 02
1 2
235 , 12=200+30 +5+ +
10 10 0
2 1 0 −1 −2
235 , 12=2.10 +3 . 10 +5 . 10 +1 . 10 +2 . 10
Representação de um Número Real
A representação de um número real no computador pode ser feita por
representação em Ponto Fixo ou Ponto Flutuante.
𝑛 n = Nº de dígitos decimais
𝑥=± ∑ 𝑑𝑖 𝛽 −𝑖
k = qto dígitos int - 1
𝑖=− 𝑘
Alg_Poli.ccp
Divisão de Inteiro
• n Ɛ ℤ por b Obs: 0 ≤ 𝑟 ≤( 𝑏 −1)
Obs: Fim da divisão quando: q
• n=q.b+r
Exemplo:
37 | 4
1 9
Exemplo: Base 2
13 | 2 6|2 3|2
1 6 0 3 1 1
0 ,333=(0 , 𝑑1 .3 −1 + 𝑑2 . 3− 2+ 𝑑 3 .3 −3 …) X (3)
0 1 1 1 0 0 1
F(2,3,-3,3)
Base = 2 Zero = 0.000 x 2-3
t = 0.d1d2d3 Mín. = 0.100 = (1x2-1)x 2-3 = 0,06250
Menor Exp. -3 Máx.= 0.111 = (1x2-1+1x2-2 +1x2-3 )23 = 7
Maior Exp. 3
Representação em Ponto Flutuante
• Esta representação e universalmente utilizada atualmente. Dado um número real x ≠ 0, ele pode ser
representado por:
x = ±di × βe
Escrever os números:
X1 = 4321.24 = 0.432124 x 104 = 0.4321 x 104
X2 = -0.0013523 = -0.13523 x 10-2 = -0.1352 x 10-2
X3 = 125.64 = 0.12564 x 103 = 0.1256 x 103
X4 = 57481.23 = 0.5748123 x 105 = 0.5748 x 105
X5 = 0.00034 = 0.34 x 10-3
X1 = 4321.24 = 0.432124 x 104 = 0.432 x 104
X2 = -0.0013523 = -0.13523 x 10-2 = -0.135 x 10-2
X3 = 125.64 = 0.12564 x 103 = 0.126 x 103
X4 = 57481.23 = 0.5748123 x 105 = 0.575 x 105
X5 = 0.00034 = 0.34 x 10-3
Representação de Números no Sistema F (β; t; m; M)
0.38 x 2 = 0.76
0.76 x 2 = 1.52
0.52 x 2 = 1.04
0.04 x 2 = 0.08
0.08 x 2 = 0.16
0.16 x 2 = 0.32
0.32 x 2 = 0.64
0.64 x 2 = 1.28
0.28 x 2 = 0.56
0.56 x 2 = 1.12
0.12 x 2 = 0.24
0.24 x 2 = 0.48
0.48 x 2 = 0.56
• Ex1. Seja uma máquina que opere com apenas 6 dígitos na mantissa,
ou seja, que seja capaz de armazenar números no formato m = ±
0,d1d2d3d4d5d6 x 10e. Como armazenaríamos número
(0,11)10 nesta maquina?
0.11 x 2 = 0.22
(0,11)10 = (0,000111000010100011110101110000101000111101............)2 0.22 x 2 = 0.44
0.44 x 2 = 0.88
Como o número (0,11)10 que não tem representação binária finita, teremos 0.88 x 2 = 1.76
0.76 x 2 = 1.52
neste caso: 0.52 x 2 = 1.04
0.04 x 2 = 0.08
(0,11)10 → (0,000111)2 → (0,109375)10 0.08 x 2 = 0.16
0.16 x 2 = 0.32
0.32 x 2 = 0.64
0.64 x 2 = 1.28
0.28 x 2 = 0.56
0.56 x 2 = 1.02
.
.
.
Ex2. Represente em binário os números 0,6 e 0,7.
0.1012 0.101 x 30
0.2101
2 + 0.2101 2.2101 0.221 x 21
a) Quantos números podemos representar neste sistema?
± d1 d2 d3 d4 d5 e
2 1 2 2 2 2 5 160
14 0 1 1 0 1 Faixa normalizada
15 0 1 1 1 0 d1 d2 d3 d4 d5 e = (-3,-2,-1,0,1)
16 0 1 1 1 1 -1 -2 -3 -4 -5 Total -3 -2 -1 0 1
17 1 0 0 0 0 0,5 0 0 0 0 0,5 0,06250 0,12500 0,25000 0,50000 1,00000
18 1 0 0 0 1 0,5 0 0 0 0,03125 0,53125 0,06641 0,13281 0,26563 0,53125 1,06250
19 1 0 0 1 0 0,5 0 0 0,0625 0 0,5625 0,07031 0,14063 0,28125 0,56250 1,12500
20 1 0 0 1 1 0,5 0 0 0,0625 0,03125 0,59375 0,07422 0,14844 0,29688 0,59375 1,18750
21 1 0 1 0 0 0,5 0 0,125 0 0 0,625 0,07813 0,15625 0,31250 0,62500 1,25000
22 1 0 1 0 1 0,5 0 0,125 0 0,03125 0,65625 0,08203 0,16406 0,32813 0,65625 1,31250
23 1 0 1 1 0 0,5 0 0,125 0,0625 0 0,6875 0,08594 0,17188 0,34375 0,68750 1,37500
24 1 0 1 1 1 0,5 0 0,125 0,0625 0,03125 0,71875 0,08984 0,17969 0,35938 0,71875 1,43750
25 1 1 0 0 0 0,5 0,25 0 0 0 0,75 0,09375 0,18750 0,37500 0,75000 1,50000
26 1 1 0 0 1 0,5 0,25 0 0 0,03125 0,78125 0,09766 0,19531 0,39063 0,78125 1,56250
27 1 1 0 1 0 0,5 0,25 0 0,0625 0 0,8125 0,10156 0,20313 0,40625 0,81250 1,62500
28 1 1 0 1 1 0,5 0,25 0 0,0625 0,03125 0,84375 0,10547 0,21094 0,42188 0,84375 1,68750
29 1 1 1 0 0 0,5 0,25 0,125 0 0 0,875 0,10938 0,21875 0,43750 0,87500 1,75000
30 1 1 1 0 1 0,5 0,25 0,125 0 0,03125 0,90625 0,11328 0,22656 0,45313 0,90625 1,81250
31 1 1 1 1 0 0,5 0,25 0,125 0,0625 0 0,9375 0,11719 0,23438 0,46875 0,93750 1,87500
32 1 1 1 1 1 0,5 0,25 0,125 0,0625 0,03125 0,96875 0,12109 0,24219 0,48438 0,96875 1,93750
Total 80
x3=2.142857
0.09995 e 0.9995 são os limites da MANTISSA permitidos
Aritmética de ponto flutuante
• Se uma operação aritmética resultar num número que seja maior, em
valor absoluto, que o maior número representável, ocorrerá overflow.
• Se resultar num número que seja menor, em valor absoluto, que o menor
número representável diferente de zero, ocorrerá underflow.
• O modo de tratar overflow e underflow dependerá do compilador
utilizado para gerar o programa executável.
• Para analisar a precisão das operações aritméticas sobre números no
formato com ponto flutuante, considere-se um hipotético computador
com dois dígitos (p = 2), base b = 10 e expoente e {-5, …, 5}: ± .d1d2 x
10e. Quando dois números são somados ou subtraídos, os dígitos do
número de menor expoente são deslocados de modo a alinhar as casas
decimais.
• O resultado é depois normalizado (o expoente é ajustado para que d1 ≠
0) e arredondado para dois dígitos (p = 2).
O resultado da adição é 4.4 em vez de
4.364
0,333 x 100
0,100 x 102
0000
0000
0333
0000
0,033300 x 102
3,33 x 100
• Ex3. Operações em F(10,2,-5,5).
- Sejam x =4,32 e y=0,064
• Calcular x + y.
• A adição aritmética de PF requer o alinhamento dos pontos decimais
dos dois números.
x = 0.43x 101 e y = 0.0064 x 101
• x + y = 0.4364 x 101
Resultado com 2 dígitos : x+y = 0.44 x 101
• Sejam x =372 e y=371
• Calcular x - y.
• x = 0.37x 103 e y = 0.37 x 103
• x - y = 0.00 x 103
• Resultado com 2 dígitos
• x-y = 0.00 x 103
• Sejam x =691 e y=2,71
• Calcular x + y.
• x = 0.69x 103 e y = 0.0027 x 103
• x + y = 0.6927 x 103
• Resultado com 2 dígitos :
• x+y = 0.69 x 101
Calc_e.ccp
Série de Taylor
Cos(x)
//Cos_x.cpp
Sin(x)
//exe_212.cpp