Escolar Documentos
Profissional Documentos
Cultura Documentos
1 Sistema de numeracao
3 Representacao de n
umeros inteiros no computador
4 Representacao de n
umeros reais no computador
7 Referencias
Sistema de numeracao
Sistema Decimal
No dia a dia usamos n
umeros baseados no sistema decimal.
O n
umero 257, por exemplo, pode ser escrito como
257 = 2 100 + 5 10 + 7 1
= 2 102 + 5 101 + 7 100
Chamamos de 10 de base deste sistema (decimal). Qualquer n
umero
inteiro pode ser expresso por um polin
omio na base 10 com
coeficientes entre 0 e 9.
Usaremos a notacao
N = (an an1 . . . a0 )10
= an 10n + an1 10n1 + . . . + a0 100
para representar qualquer inteiro no sistema decimal, onde os
coeficientes sao tais que 0 ai 9.
Rafael Bonfim (DCC-ICE-UFJF) Curso de C
alculo Num
erico UFJF 4 / 62
Sistema de numerac
ao
Sistema Binario
N = (an an1 . . . a0 )2
= an 2n + an1 2n1 + . . . + a0 20
Sistema Hexadecimal
O sistema hexadecimal usa base 16 e portanto temos 16 dgitos
diferentes.
As vezes programadores usam o sistema hexadecimal pois o sistema
binario pode ser cansativo e longo para representar algum valor.
Exemplo:
(1234)16 = 1 163 + 2 162 + 3 161 + 4 160
= 4096 + 512 + 48 + 4
A representacao hexadecimal usa as letras de A ate F para os seis
dgitos adicionais (10, 11, 12, 13, 14, 15). Outros exemplos:
(234)16 (BEEF )16 (DEAD)16 (0AFB)16
A conversao entre os sistemas binario e hexadecimal e simples, uma
vez que trabalhamos com grupos de 4 bits para cada dgito do
sistema hexadecimal.
Rafael Bonfim (DCC-ICE-UFJF) Curso de C
alculo Num
erico UFJF 6 / 62
Convers
ao de sistema de numerac
ao N
umero inteiro
Exemplo:
(11)2 = 1 21 + 1 20
=2+1=3
(1101)2 = 1 23 + 1 22 + 0 21 + 1 20
= 8 + 4 + 0 + 1 = 13
13 2 = 6, resto=1
6 2 = 3, resto=0
3 2 = 1, resto=1
1 2 = 0, resto=1
(13)10 = (1101)2
Se x e um n
umero real positivo, sua parte integral xi e o maior inteiro
menor ou igual a x, enquanto
xf = x xi
Exemplos
1
= 0.25 = 2 101 + 5 102 (termina)
4
1
= 0.333 . . . = 3 101 + 3 102 + 3 103 (nao termina)
3
Se a parte integral de x e um inteiro no sistema decimal da forma
Exemplo 1
Qual a representacao binaria de (0.625)10 ?
Solucao do Exemplo
2 0.625 = 1.25 b1 = 1
2 0.25 = 0.50 b2 = 0
2 0.5 = 1.00 b3 = 1
2 0.0 = 0.00 b4 = b5 = . . . = 0
Exemplo 2
Qual a representacao binaria de (0.1)10 ?
Solucao do Exemplo 2
Temos x = 0.1.
2 0.1 = 0.2 b1 = 0
2 0.2 = 0.4 b2 = 0
2 0.4 = 0.8 b3 = 0
2 0.8 = 1.6 b4 = 1
2 0.6 = 1.2 b5 = 1
2 0.2 = 0.4 b6 = 0
2 0.4 = 0.8 ...
Exemplo
Converter da base 2 para a base 10.
(11.0101)2 = 1 20 + 1 21 + 0 21 + 1 22 + 0 23 + 1 24
= (3.3125)10
Representacao de n
umeros inteiros no computador
Complemento a dois
232 y
bits n
umero bits n
umero 2B y
0000 0 1000 -8 24 8=8
0001 1 1001 -7 24 7 = 9
0010 2 1010 -6 24 6 = 10
0011 3 1011 -5 24 5 = 11
0100 4 1100 -4 24 4 = 12
0101 5 1101 -3 24 3 = 13
0110 6 1110 -2 24 2 = 14
0111 7 1111 -1 24 1 = 15
Solucao do exemplo
Temos que (2)10 = (0010)2 . Pelos passos do algoritmo temos:
1 Invertendo os bits 0010 1101
2 Somando 1
1101
+0001
1110
Representacao de n
umeros reais no computador
= 3.1415 . . .
e = 2.71828 . . .
Exemplo
Sistema com 1 bit para sinal, 15 bits para parte integral e 16 bits para a
parte fracionaria. Neste sistema (11/2)10 = (5.5)10 e representado da
seguinte forma:
0 000000000000101 1000000000000000
x = d e
(0 d1 d2 d3 . . . dt )
F (, t, L, U)
onde
e a base do sistema
t n
umero de dgitos da mantissa
L menor valor para o expoente
U maior valor para o expoente
|2.142 x| = 0.000857
|2.143 x| = 0.000143
Exemplo
Considere o seguinte sistema: F (10, 3, 3, 3). Neste sistema o n
umero
12.5 e representado por
+0.125 102
O n
umero de Euler
e = 2.718281 . . .
e representado por
Exemplo
Considere o seguinte sistema: F (10, 3, 5, 5). Os n
umeros
representados neste sistema terao a forma
O menor n
umero em valor absoluto representado nessa maquina e
O maior n
umero em valor absoluto e
Exemplo
Considere o sistema F (2, 3, 3, 3). Para simplificar, considere uma palavra
com 7 bits, onde temos 1 bit para o sinal do n umero, 3 bits para o
expoente (incluindo seu sinal) e 3 bits para a mantissa. Vamos representar
xmin = (0.100)2 23 .
sinal do n
umero 0
sinal do expoente 1
expoente (3)10 = (11)2
mantissa (0.100)2
0 111 100
Exemplo
Considere o sistema F (2, 3, 1, 2). Quantos e quais n
umeros podem ser
representados neste sistema?
Solucao:
umeros sao da forma: 0.d1 d2 d3 2e
Neste sistema os n
2 possibilidades para o sinal
(1 2 2) = 4 possibilidades para a mantissa
4 possibilidades para o expoente (1, 0, 1, 2)
Portanto, temos 2 4 4 = 32, e considerando que o zero tambem faz parte
do sistema, conclumos que podemos representar 33 n umeros distintos.
Continuacao da solucao
Para responder quais sao os numeros, notemos que as possveis formas da
mantissa sao 0.100, 0.101, 0.110 e 0.111 e as formas do expoente sao 21 ,
20 , 21 e 22 . Assim obtemos:
(0.100)2 21 = (0.25)10 (0.101)2 21 = (0.3125)10
(0.100)2 20 = (0.5)10 (0.101)2 20 = (0.625)10
(0.100)2 21 = (1.0)10 (0.101)2 21 = (1.25)10
(0.100)2 22 = (2.0)10 (0.101)2 22 = (2.5)10
(0.110)2 21 = (0.375)10 (0.111)2 21 = (0.4375)10
(0.110)2 20 = (0.75)10 (0.111)2 20 = (0.875)10
(0.110)2 21 = (1.5)10 (0.111)2 21 = (1.75)10
(0.110)2 22 = (3.0)10 (0.111)2 22 = (3.5)10
1.d1 d2 . . . dn 2e
Em precisao simples um n
umero real e representado por 32 bits,
sendo que:
1 bit para o sinal
8 bits para o expoente
23 bits para a mantissa
formato binario
e1 e2 . . . e8 d1 d2 . . . d23
O primeiro bit `a esquerda do ponto binario, isto e d0 = 1, e chamado
de bit escondido (hidden bit).
Rafael Bonfim (DCC-ICE-UFJF) Curso de C
alculo Num
erico UFJF 34 / 62
Formato ponto flutuante IEEE 754
Expoente
Mantissa
0 , 0/0, /,
Adic
ao/subtrac
ao: quando dois n umeros em ponto flutuante sao
somados (ou subtrados), e preciso alinhar as casas decimais do
numero de menor expoente para a direita ate que os expoentes
fiquem iguais.
Multiplicacao/divis
ao: nessa operacao realizamos o produto (ou
divisao) das mantissas e o expoente final da base e obtido, somando
(subtraindo) os expoentes de cada parcela.
Os resultados devem ser truncados ou arredondados.
Truncamento ou arredondamento depende da maquina.
Operacoes aritmeticas
Exemplo: Adicao
Adicionar 4.32 e 0.064 em uma maquina com mantissa t = 2 e base 10.
Solucao do Exemplo
Operacoes aritmeticas
Exemplo: Subtracao
Subtrair 371 de 372 em uma maquina com mantissa t = 2 e base 10.
Solucao do Exemplo
Operacoes aritmeticas
Exemplo: Multiplicacao
Multiplicar 1234 por 0.016 em uma maquina com mantissa t = 2 e base
10.
Solucao do Exemplo
Operacoes aritmeticas
Exemplo: Divisao
Dividir 0.00183 por 492 em uma maquina com mantissa t = 2 e base 10.
Solucao do Exemplo
associatividade: (a + b) + c = a + (b + c)
distributividade: a(b + c) = ab + ac
Solucao do Exemplo
a) (11.4 + 3.18) + 5.05 a) 11.4 + (3.18 + 5.05)
0.555 101
b) 5.55(4.45 4.35) 0.445 101
= 0.246975 102
0.445 101 = 0.247 102
1
0.435 10
0.555 101
= 0.010 101
0.435 101
= 0.241425 102
1
0.555 10 = 0.241 102
0
0.100 10
0.247 102
= 0.055500 101 0.241 102
= 0.555 = 0.006 102 = 0.6
Rafael Bonfim (DCC-ICE-UFJF) Curso de C
alculo Num
erico UFJF 45 / 62
Noc
oes b
asicas sobre erros
Noc
oes basicas sobre erros
Erro absoluto
Se x e uma aproximacao de x, o erro absoluto e definido por
x ) = x x
EA(
Exemplo
Seja x = 1428.756. Em uma maquina com mantissa t = 4, usando
arredondamento e truncamento, respectivamente, temos
Erro relativo
Erro relativo
O erro relativo e definido por
x x EA( x)
ER(
x) = =
x x
dado que x 6= 0.
Exemplos:
x1 = 1000.5, x1 = 1000.6
x2 = 10.5, x2 = 10.6 EA(xi ) = 0.1, i = 1, 2
0.1
ER(x1 ) = 0.00009994 = 0.9994 104
1000.6
0.1
ER(x2 ) = 0.009433 = 0.9433 102
10.6
Rafael Bonfim (DCC-ICE-UFJF) Curso de C
alculo Num
erico UFJF 48 / 62
Noc
oes b
asicas sobre erros
Efeitos numericos
Erros
Cancelamento
Subtraimos dois n
umeros quase iguais, ou quando somamos n
umeros de
sinais opostos mas de magnitudes semelhantes
Exemplo
Calcular 37 36 em uma maquina F (10, 4, L, U) usando
arredondamento.
Solucao do Exemplo
Para efeitos de comparacao, apresentamos a resposta exata aqui:
37 36 = 6.08276253 6 = 0.08276253.
Cancelamento
0.6083 101
0.6000 101
= 0.0083 101 = 0.8300 101
Cancelamento
1
=
0.1208 102
= 0.08278145 = 0.8278 101
Propagacao do erro
Propagacao do erro
Exemplo
Considere uma maquina F (10, 4, L, U) com truncamento. Vamos efetuar a
seguinte operacao:
4
X
S= (xi + yi ) com xi = 0.46709, e yi = 3.5678
i=1
Para i = 1, temos
E o erro absoluto e
= |4.03569 4.034| = 0.00169
EA(S)
Propagacao do erro
Exemplo (cont.)
Para i = 2, temos
(x1 + y1 ) + (x2 + y2 ) = 0.8068 101
EA(S) = |8.07138 8.068| = 0.00338
Para i = 3, temos
(x1 + y1 ) + (x2 + y2 ) + (x3 + y3 ) = 0.1210 102
= |12.10707 12.10| = 0.00707
EA(S)
Para i = 4, temos
(x1 + y1 ) + (x2 + y2 ) + (x3 + y3 ) + (x4 + y4 ) = 0.1613 102
= |16.14267 16.13| = 0.01276
EA(S)
Ariane 5
Sleipnir offshore
Referencias