Buscar

Operações Aritméticas com Números Binários

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 65 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 65 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 65 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Erros
- Operações aritméticas entre números binários
- Aritmética de ponto flutuante
- Adição de binários
Propriedades:
0+0=0
0+1=1
1+0=1
1+1= 0 e vai 1, para somar 
ao digito imediatamente à
esquerda.
Ex. 1 
1100
+ 111 
---------------
- Adição de binários
Propriedades:
0+0=0
0+1=1
1+0=1
1+1= 0 e vai 1, para somar 
ao digito imediatamente à
esquerda.
Ex. 1 
1
1100
+ 111 
---------------
10011
- Adição de binários
Propriedades:
0+0=0
0+1=1
1+0=1
1+1= 0 e vai 1, para somar 
ao digito imediatamente à
esquerda.
Ex. 1 
1
1100
+ 111 
---------------
10011
- Adição de binários
Propriedades:
0+0=0
0+1=1
1+0=1
1+1= 0 e vai 1, para somar 
ao digito imediatamente à
esquerda.
Ex. 1 
1
1100
+ 111 
---------------
10011
- Adição de binários
Propriedades:
0+0=0
0+1=1
1+0=1
1+1= 0 e vai 1, para somar 
ao digito imediatamente à
esquerda.
Ex. 2 
11
1100
+ 1111 
---------------
10011
- Adição de binários
Propriedades:
0+0=0
0+1=1
1+0=1
1+1= 0 e vai 1, para somar 
ao digito imediatamente à
esquerda.
Ex. 2 
11
1100
+ 1111 
---------------
10011
- Adição de binários
Propriedades:
0+0=0
0+1=1
1+0=1
1+1= 0 e vai 1, para somar 
ao digito imediatamente à
esquerda.
Ex. 2 
11
1100
+ 1111 
---------------
11011
- Adição de binários
Propriedades:
0+0=0
0+1=1
1+0=1
1+1= 0 e vai 1, para somar 
ao digito imediatamente à
esquerda.
Ex. 2 
11
1100
+ 1111 
---------------
11011
Explicando: Os números binários são base 2, ou seja, há apenas 
dois algarismos: 0 (zero) ou 1 (um). Na soma de 0 com 1 o total é
1. Quando se soma 1 com 1, o resultado é 2, mas como 2 em 
binário é 10, o resultado é 0 (zero) e passa-se o outro 1 para a 
"frente", ou seja, para ser somado com o próximo elemento
- Subtração de binários
Propriedades:
0-0=0
0-1=1 e vai 1 (para subtrair 
ao digito imediatamente à
esquerda)
1-0=1
1-1= 0
Ex. 3 
1
1101110
- 10111 
---------------
10011
- Subtração de binários
Propriedades:
0-0=0
0-1=1 e vai 1 (para subtrair 
ao digito imediatamente à
esquerda)
1-0=1
1-1= 0
Ex. 3 
11
1101110
- 10111 
---------------
10011
- Subtração de binários
Propriedades:
0-0=0
0-1=1 e vai 1 (para subtrair 
ao digito imediatamente à
esquerda)
1-0=1
1-1= 0
Ex. 3 
111
1101110
- 10111 
---------------
10111
- Subtração de binários
Propriedades:
0-0=0
0-1=1 e vai 1 (para subtrair 
ao digito imediatamente à
esquerda)
1-0=1
1-1= 0
Ex. 3 
1 111
1101110
- 10111 
---------------
1010111
- Subtração de binários
Explicando: Quando temos 0 menos 1, precisamos "pedir 
emprestado" do elemento vizinho. Esse empréstimo vem valendo 
2 (dois), pelo fato de ser um número binário. Então, no caso da 
coluna 0 - 1 = 1, porque na verdade a operação feita foi 2 - 1 = 1. 
Esse processo se repete e o elemento que cedeu o "empréstimo" 
e valia 1 passa a valer 0. Os valores em vermelho marcam os 
elementos que "emprestaram" para seus vizinhos. Perceba, que,
logicamente, quando o valor for zero, ele não pode "emprestar" 
para ninguém, então o "pedido" passa para o próximo elemento e 
esse zero recebe o valor de 1
- Multiplicação de binários
Ex. 4 A multiplicação entre 
binários é similar à
realizada com números 
decimais. A única diferença 
está no momento de somar 
os termos resultantes da 
operação:
1011
x 1010
---------------
0000
+ 11011
+ 0000
+ 1011
-----------------
=1101110
- Multiplicação de binários
Ex. 4 A multiplicação entre 
binários é similar à
realizada com números 
decimais. A única diferença 
está no momento de somar 
os termos resultantes da 
operação:
1011
x 1010
---------------
0000
+ 11011
+ 0000
+ 1011
-----------------
= 1101110
- Multiplicação de binários
Ex. 4 A multiplicação entre 
binários é similar à
realizada com números 
decimais. A única diferença 
está no momento de somar 
os termos resultantes da 
operação:
1011
x 1010
---------------
0000
+ 11011
+ 0000
+ 1011
-----------------
= 1101110
- Multiplicação de binários
Ex. 4 A multiplicação entre 
binários é similar à
realizada com números 
decimais. A única diferença 
está no momento de somar 
os termos resultantes da 
operação:
1011
x 1010
---------------
0000
+ 11011
+ 0000
+ 1011
-----------------
= 1101110
- Divisão de binários
Ex. 5 Essa operação também é
similar àquela realizada 
entre números decimais: 110 10
-10 1 
01 
- Divisão de binários
Ex. 5 Essa operação também é
similar àquela realizada 
entre números decimais: 110 10
-10 11 
010
- 10 
00 
„ Os computadores representam números na 
forma de ponto flutuante. Na aritmética de ponto 
flutuante o número é representado na forma: 
onde β é a base;
t é o número de dígitos na mantissa
e é o chamado expoente inteiro, ele varia no 
intervalo (m, M), sendo que estes limites 
dependem da máquina utilizada. 
Em geral m=-M.
1.3 - Aritmética de ponto flutuante
e
tddd β×± ).0( 21 K
0,,,1),1(0 1 ≠=−β≤≤ dtjd j K
„ Numa máquina que opera no sistema
„ os números são representados na forma
„ Nesta máquina, em módulo, o
menor número, em módulo:
maior número, em módulo:
]5,5[;3;10 −∈==β et
]5,5[,0,90,10).0( 1321 −∈≠≤≤×± eddddd je
65 1010)100.0( −− =×=m
9990010)999.0( 5 =×=M
„ Considere um número real tal que
„ Então temos que:
i) o número 
Em uma máquina que opera com três dígitos, 
será representado por: 
, se for usado o truncamento, e 
, se for usado o arredondamento
Mxm ≤≤
31023589.089.235 ×==x
310235.0 ×=x
310236.0 ×=x
31023589.089.235 ×==x
„ Sempre que uma operação aritmética produz 
um número com expoente superior ao expoente 
máximo,tem-se o fenômeno de “overflow”. 
„ De forma similar, operações que resultem em 
expoente inferior ao expoente mínimo tem-se 
o fenômeno de “underflow”.
Os próximos dois exemplos ainda considera 
uma máquina que opera no sistema
e os números são representados na forma
]5,5[;3;10 −∈==β et
]5,5[,0,90,10).0( 1321 −∈≠≤≤×± eddddd je
Overflow: Sejam x = 875 e y = 3172 .
Calcule x × y.
Primeiro, deve-se arredondar os números e armazená-
los no formato indicado usando 2 dígitos . 
e
A operação de multiplicação é efetuada:
Como o expoente é maior que 5, resulta em overflow
31088.0 ×=x 41032.0 ×=y
7102816.0 x ×=yx
Ex. 6 
Primeiro, deve-se arredondar os números e armazená-
los no formato indicado usando 2 dígitos . 
e
A operação de divisão é efetuada:
O resultado dessa operação resultou em um valor 
menor que o computador pode armazenar (ou 
seja menor que 5), resultando em underflow.
21064.0 −×=x 41073.0 ×=y
6108767.0 −×=
y
x
Ex. 7 : Underflow: Sejam x = 0,0064 e y = 7312. 
Calcule x /y.
„ Ainda, em uma máquina que opera com 
três dígitos, m=-3 e M=3, 
ii) (underflow). Exemplo:
iii) (overflow). Exemplo:
mx ≤ 710267.0 −×=x
Mx ≥ 910789.0 ×=x
„ Ex. 8:
10 ,4 (decimal), 2,34 =β== tx
e
tdddx β×±= ).0( 21 K
„ Ex. 9: Represente o número 
no formato ponto flutuante
10 ,4 (decimal), 2,34 =β== tx
 2,34=x
eddddx10).0( 4321 ×=
„ Ex. 9: Represente o número 
no formato ponto flutuante
10 ,4 (decimal), 2,34 =β== tx
 2,34=x
eddddx 10).0( 4321 ×=
01 ≠d
„ Ex. 9: Represente o número 
no formato ponto flutuante
10 ,4 (decimal), 2,34 =β== tx
 2,34=x
eddddx 10).0( 4321 ×=
01 ≠d
210)3420.0( ×=x
2=e
„ Ex. 10:
Vimos que 
2 ,9 (decimal), 1,0 =β== tx
„ Ex. 10:
Vimos que 
2 ,9 (decimal), 1,0 =β== tx
210 ...)0110001100110,0()1,0( =
„ Ex. 10:
Vimos que 
2 ,9 (decimal), 1,0 =β== tx
210 ...)0110001100110,0()1,0( =
{ 2
9 dígitos, 9
3 
 afracionari
 parte 
dígitos 3
10 ...)1110011001000,0()1,0( 43421
=
−=
=
t
e
„ Ex. 10:
Vimos que 
2 ,9 (decimal), 1,0 =β== tx
210 ...)0110001100110,0()1,0( =
{ 2
9 dígitos, 9
3 
 afracionari
 parte 
dígitos 3
10 ...)1110011001000,0()1,0( 43421
=
−=
=
t
e
A representação do número 
no formato “ponto flutuante” na base 2 
é:
1,0=x
32) 110011001.0( −×=x
Comentário: Precisão Dupla
„ Note que em algumas linguagens de 
programação é possível declarar uma 
variável em dupla precisão.
„ Neste caso, esta variável será
representada no sistema de aritmética da 
máquina, aproximadamente, com o dobro 
de dígitos disponíveis na mantissa.
Exemplos:
„ Considere ]4,4[;3;10 −∈==β et
x arredondamento truncamento
1.25
10.053
- 253.15
2.71828
0.000002 Underflow Expoente<- 4
817235.89 Overflow Expoente>+4
110125.0 × 110125.0 ×
210100.0 ×210101.0 ×
310253.0 ×− 310253.0 ×−
110272.0 × 110271.0 ×
210101.0 ×
310253.0 ×−
110272.0 ×
Exemplos:
„ Considere ]4,4[;3;10 −∈==β et
x arredondamento truncamento
1.25
10.053
- 253.15
2.71828
0.000002 Underflow Expoente<- 4
817235.89 Overflow Expoente>+4
110125.0 × 110125.0 ×
210100.0 ×210101.0 ×
310253.0 ×− 310253.0 ×−
110272.0 × 110271.0 ×
210101.0 ×
310253.0 ×−
110272.0 ×
21010053.0 ×
Exemplos:
„ Considere ]4,4[;3;10 −∈==β et
x arredondamento truncamento
1.25
10.053
- 253.15
2.71828
0.000002 Underflow Expoente<- 4
817235.89 Overflow Expoente>+4
110125.0 × 110125.0 ×
210100.0 ×210101.0 ×
310253.0 ×− 310253.0 ×−
110272.0 × 110271.0 ×
310253.0 ×−
110272.0 ×
21010053.0 ×
Exemplos:
„ Considere ]4,4[;3;10 −∈==β et
x arredondamento truncamento
1.25
10.053
- 253.15
2.71828
0.000002 Underflow Expoente<- 4
817235.89 Overflow Expoente>+4
110125.0 × 110125.0 ×
210100.0 ×210101.0 ×
310253.0 ×− 310253.0 ×−
110272.0 × 110271.0 × 110272.0 ×
Exemplos:
„ Considere ]4,4[;3;10 −∈==β et
x arredondamento truncamento
1.25
10.053
- 253.15
2.71828
0.000002 Underflow Expoente<- 4
817235.89 Overflow Expoente>+4
110125.0 × 110125.0 ×
210100.0 ×210101.0 ×
310253.0 ×− 310253.0 ×−
110272.0 × 110271.0 ×
Exemplos:
„ Considere ]4,4[;3;10 −∈==β et
x arredondamento truncamento
1.25
10.053
- 253.15
2.71828
0.000002 Underflow Expoente<- 4
817235.89 Overflow Expoente>+4
110125.0 × 110125.0 ×
210100.0 ×210101.0 ×
310253.0 ×− 310253.0 ×−
110272.0 × 110271.0 ×
510200.0 −×
Exemplos:
„ Considere ]4,4[;3;10 −∈==β et
x arredondamento truncamento
1.25
10.053
- 253.15
2.71828
0.000002 Underflow Expoente<- 4
817235.89 Overflow Expoente>+4
110125.0 × 110125.0 ×
210100.0 ×210101.0 ×
310253.0 ×− 310253.0 ×−
110272.0 × 110271.0 ×
510200.0 −×
Exemplos:
„ Considere ]4,4[;3;10 −∈==β et
x arredondamento truncamento
1.25
10.053
- 253.15
2.71828
0.000002 Underflow Expoente<- 4
817235.89 Overflow Expoente>+4
110125.0 × 110125.0 ×
210100.0 ×210101.0 ×
310253.0 ×− 310253.0 ×−
110272.0 × 110271.0 ×
610 81723589.0 ×
Erros
„ Erro absoluto: diferença entre o valor 
exato de um número x e de seu valor 
aproximado :
„ Erro relativo: erro absoluto dividido pelo 
valor aproximado
Normalmente não temos o valor de x !!!! 
x
xxEAx −=
x
xxERx
−=
Exemplos
„ Sabendo-se que , então 
uma estimativa do erro absoluto é:
„ Seja um número representado por 
tal que ,isto é,
„ Seja um número representado por 
tal que , isto é, 
15.314.3 ≤π≤
01.0<π−π=πEA
9.121=x
1.0<xEA 0.1228.121 ≤≤ x
3.5=y
1.0<yEA 4.52.5 ≤≤ yaxaax <<−⇔<
Exemplos
„ Sabendo-se que , então 
uma estimativa do erro absoluto é:
„ Seja um número representado por 
tal que ,isto é,
„ Seja um número representado por 
tal que , isto é, 
15.314.3 ≤π≤
01.0<π−π=πEA
9.121=x
1.0<xEA 0.1228.121 ≤≤ x
3.5=y
1.0<yEA 4.52.5 ≤≤ y
„ Note que os erros absolutos são iguais.
„ Os erros relativos nos dois caso são:
„ Portanto, o número x é representado com maior 
precisão. Portanto, apesar dos erros absolutos 
serem iguais, a precisão das medidas não o 
são!!!
4102.8
9.121
1.0 −×≈==
x
EA
ER xx
02.0
3.5
1.0 ≈==
y
EA
ER yy
1.4 - Erros de arredondamento e 
Truncamento
„ Sabemos que a representação de um 
número depende da máquina utilizada, 
pois seu sistema definirá a base numérica 
adotada, o total de dígitos na mantissa 
etc... Vimos também que algumas 
linguagens de programação permitem 
dupla precisão.
„ Considere uma aritmética de ponto 
flutuante com t dígitos, na base 10. Seja o 
número x representado na forma: 
„ Por exemplo, se t = 4 e x = 234.57, então
Aritmética de ponto flutuante
11.0com1010 <≤×+×= − xtexex fgfx
10 <≤ xg
„ Considere uma aritmética de ponto 
flutuante com t dígitos, na base 10. Seja o 
número x representado na forma: 
„ Por exemplo, se t = 4 e x = 234.57, então
Aritmética de ponto flutuante
11.0com1010 <≤×+×= − xtexex fgfx
10 <≤ xg
7.0 
2345.0107.0102345.0 13
=
=⇒×+×= −
x
x
g
fx
„ Considere uma aritmética de ponto 
flutuante com t dígitos, na base 10. Seja o 
número x representado na forma: 
„ Por exemplo, se t = 4 e x = 234.57, então
Aritmética de ponto flutuante
11.0com1010 <≤×+×= − xtexex fgfx
10 <≤ xg
7.0 
2345.0107.0102345.0 13
=
=⇒×+×= −
x
x
g
fx
Aritmética de ponto flutuante
„ Note que não pode ser 
incorporado totalmente à mantissa!!!!!!!!!
„ Existem dois procedimentos:
„ Truncamento 
„ Arredondamento
te
xg
−×10
„ Truncamento: é desprezado e 
„ Erro Absoluto:
pois 
„ Erro Relativo:
te
xg
−×10
e
xfx 10×=
tete
xx gxxEA
−− <<−= 1010
t
e
te
e
x
te
xx
x f
g
x
EA
ER −
−−
=×<×
×== 110
101.0
10
10
10
Menor valor que fx
pode assumir
1<xg
„ Arredondamento: é modificado para levar em 
consideração parte de .
„ Arredondamento simétrico: 
Se somamos 1 no último dígito de 
Se desprezamos 
„ Erro Absoluto:
„ Erro Relativo:
xf
te
x xxEA
−×<−= 10
2
1
2
1≥xg xf
2
1<xg xg
t
x x
xxER −×<−= 110
2
1
xg
Propagação de Erros
„ Dada uma seqüência de operações
como dá-se a propagação de erros?
O erro total é composto pelo erro dos
fatores e pelo erro no resultado da
operação.
( )[ ] wtzyxu /−−+=
Bibliografia:
„ Ruggiero, Márcia A. Gomes e Lopes, Vera 
Lúcia da Rocha Cálculo Numérico: 
Aspectos Teóricos e Computacionais 2 
ed., São Paulo: Makron Books, 1996. 
Erro de Truncamento
É um erro inerente ao método numérico. Surge 
cada vez que se substitui um procedimento 
matemático infinito por um
processo finito ou discreto.Exemplo: A Série de Taylor da função 
em torno de x=0 é expressa por:
....
!
...
!3!2!1
1
32
++++++=
n
xxxxe
n
x
xexf =)(
....
!
...
!3!2!1
1
32
++++++=
n
xxxxe
n
x
....
!
1...
!3
1
!2
1
!1
111 ++++++=
n
e
Utilizando os 5 primeiros termos da série, 
têm�se:
3333332.70833333
!4
1
!3
1
!2
1
!1
111 ≅++++=e
Logo para x = 1
Utilizando os 5 primeiros termos da série, 
têm�se:
Enquanto que o valor preciso é:
8459052.718281821 =e
3333332.70833333
!4
1
!3
1
!2
1
!1
111 ≅++++=e
EA = |Valor Truncado – Valor Absoluto|
EA = |2,7083333333 – 2,71828182845905 |
Erro Absoluto = 0.0099484951257125
ER = |Valor Truncado – Valor Absoluto|
|Valor Absoluto|
ER = |2,7083333333 – 2,71828182845905 |
2,71828182845905
Erro Absoluto = 0.00365984682734393
0, 36598%
Significa dizer que 2,7083± 0,00365
%programa que calcula Somatorio
clear, clc,
format long g
%calculo da funçao aproximada
xx = 1:0.05:3; xd = 1:0.05:3;
n = input(' entre com o valor do limite superior do somatorio: ');
for k =1:n;
syms xx
s(k) = sum( (xx.^(k-1)).*xx/(k*(factorial(k-1))) )
ts=1+sum(s) %monta a funçao aproximada
zd = subs(ts,xx,xd);
end
% funçao exata
x=1:0.05:3; 
g = exp(x)
yd = subs(g,x,xd); 
%calculo do erro absoluto máximo
erro=max(abs(zd-yd))
figure (1), clf
plot(xd, yd, 'r-');hold on;
plot(xd,zd,'k:o');
title('exp(x) x Sol Aproximada');
legend('exp(x)','Sol Aproximada',2)
gtext (strcat('erro = ',num2str(erro)), 'FontSize',12)

Outros materiais