Anda di halaman 1dari 31

ADS IFBA

www.ifba.edu.br/professores/antoniocarlos
Aula 6 Aritmtica
Computacional
Introduo Computao
ADS - IFBA
ADS IFBA
www.ifba.edu.br/professores/antoniocarlos
Representao de Nmeros
Inteiros
Vrgula fixa (Fixed Point)
Ponto Flutuante
Para todos, a quantidade de valores
possveis depende do nmero de bits (N)
2
N
valores
ADS IFBA
www.ifba.edu.br/professores/antoniocarlos
Nmeros com Sinal e Nmeros sem Sinal
Base 10:
2543
(10)
=210
3
+510
2
+410
1
+310
0
(10)
Base 2:
1011
(2)
=12
3
+02
2
+12
1
+12
0
=11
(10)
Representao no Z80 (8 bits)
0 0 0 0 1 0 1 1
Bit Menos Significativo (LSB) Bit Mais Significativo (MSB)
ADS IFBA
www.ifba.edu.br/professores/antoniocarlos
Aritm
Aritm

tica Bin
tica Bin

ria
ria
SOMA: Semelhante soma decimal
0+0 = 0
0+1 = 1+0 = 1
1+1 = 0, com vai 1
1 1111 <= vai 1
Ex: 101101
+ 101011
1011000
ADS IFBA
www.ifba.edu.br/professores/antoniocarlos
Aritm
Aritm

tica Bin
tica Bin

ria
ria
SUBTRAO: semelhante, porm o
emprstimo agora vale 2 (na base decimal
quando temos 0-N pegamos 10 emprestado ao
algarismo da esquerda).
0-0=0, 1-1=0, 1-0=1, 0-1 => emprstimo
2
002
Ex: 101101
- 100111
000110
100001
ADS IFBA
www.ifba.edu.br/professores/antoniocarlos
Aritmtica No-Decimal
Aritmtica Binria Subtrao Binria
ADS IFBA
www.ifba.edu.br/professores/antoniocarlos
Adio e Subtrao
No computador: soma semelhante soma no
sistema decimal.
Soma: soma cada bit, mais o vai-um.
ADS IFBA
www.ifba.edu.br/professores/antoniocarlos
Adio e Subtrao (8 bits)
6
(10)
= 0000 0110
(2)
7
(10)
= 0000 0111
(2)
0000 0111
0000 0110
+
0000 1101
adio
0000 0111
0000 0110
-
0000 0001
subtrao
0000 0111
1111 1010
+
0000 0001
Subtrao com
complemento a 2
ADS IFBA
www.ifba.edu.br/professores/antoniocarlos
Aritm
Aritm

tica Bin
tica Bin

ria
ria
Multiplicando 1001
Multiplicador x 1100
Terceiro produto parcial 100100
Quarto produto parcial 1001___
Produto Final 1101100
Exemplo: Vamos multiplicar 1001
2
de 1100
2
ADS IFBA
www.ifba.edu.br/professores/antoniocarlos
Exemplo: como na prtica
1000
x 1001
1000
0000
0000
1000____
1001000
multiplicando
multiplicador
produto
Nmero de dgitos:
multiplicando + multiplicador.
32 bits x 32 bits = 64 bits.
Nmero de dgitos:
multiplicando + multiplicador.
32 bits x 32 bits = 64 bits.
ADS IFBA
www.ifba.edu.br/professores/antoniocarlos
Diviso
A operao recproca da multiplicao a
diviso, operao que ainda menos
freqente que a multiplicao e mais
ardilosa. Alm disso, ela oferece uma rara
oportunidade de se efetuar uma operao
matemtica invlida: a diviso por zero.
dividendo = quociente x divisor + resto
ADS IFBA
www.ifba.edu.br/professores/antoniocarlos
Aritm
Aritm

tica Bin
tica Bin

ria
ria
Diviso: igual a diviso binria
100111
110
1
-110
0011
1
100111
110
11
-110
0011
1
-110
001
100111
110
110,1
-110
0011
1
-110
00110
-110
0000
ADS IFBA
www.ifba.edu.br/professores/antoniocarlos
Exerccio
Dividir 0000 0111
2
por 0010
2
.
Valores iniciais:
Quociente = 0000
Divisor = 0010 0000
Resto = 0000 0111
ADS IFBA
www.ifba.edu.br/professores/antoniocarlos
Representao de Nmeros
Inteiros
Vrgula fixa (Fixed Point)
Ponto Flutuante
Para todos, a quantidade de valores
possveis depende do nmero de bits (N)
2
N
valores
ADS IFBA
www.ifba.edu.br/professores/antoniocarlos
Representao de nmeros
Nmeros reais: infinitos.
No computador: finitos.
Maioria: grande quantidade de zeros esquerda.
Computador: pode lidar com nmeros at um certo tamanho.
Overflow: tratado pelo sistema operacional.
No computador: preciso representar nmeros com sinal.
Soluo: usar 1 bit (sinal magnitude).
Primeira tentativa: o bit mais significativos (MSB) usado para
sinal.
Problema: duas representaes para o zero
Soluo mais usada: complemento a 2
ADS IFBA
www.ifba.edu.br/professores/antoniocarlos
Inteiros
Positivos
Mesmo valor, limitado ao nmero de bits
Exemplo: 6
10
= 110
2
Negativos: mesma limitao, de 4 formas
Mdulo e sinal
Complemento de 1 (C-1)
Complemento de 2 (C-2)
Excesso de 2 elevado a (N-1)
ADS IFBA
www.ifba.edu.br/professores/antoniocarlos
Mdulo e Sinal (MS)
O bit mais esquerda representa o sinal
valor 0: sinal +; valor 1: sinal -
(N-1) bits restantes: mdulo do nmero
Quantidade: -2
N-1
+1 X 2
N-1
-1
N = 8, -127 X 127
Exemplo: limitao de 8 bits (N=8)
00101010
2
= + 42
10
10101010
2
= - 42
10
ADS IFBA
www.ifba.edu.br/professores/antoniocarlos
Complemento de 1 (C-1)
O bit mais esquerda representa o sinal
valor 0: sinal +; valor 1: sinal -
(N-1) bits restantes: mdulo do nmero
O simtrico o complemento de 1
Troque 0 por 1 e vice-versa incluindo o sinal;
ex.:
00101010
2
= + 42
10
11010101
2
= - 42
10
Mesmo que MS: -2
N-1
+1 X 2
N-1
-1
ADS IFBA
www.ifba.edu.br/professores/antoniocarlos
Complemento de 2 (C-2)
O bit mais esquerda representa o sinal
valor 0: sinal +; valor 1: sinal -
(N-1) bits restantes: mdulo do nmero
Simtrico em dois passos
Passo 1: calcula-se C-1
Passo 2: Soma-se 1 a esse C-1
Despreza-se transporte no ltimo, caso exista
Quantidade assimtrica: -2
N-1
X 2
N-1
-1
ADS IFBA
www.ifba.edu.br/professores/antoniocarlos
Complemento de 2 (C-2)
ADS IFBA
www.ifba.edu.br/professores/antoniocarlos
Excesso de 2 elevado a (N-1)
No usa bit de sinal
Valor o nmero mais um excesso
N bits = 2
N-1
Exemplo
Para 8 bits o excesso 128
10
(2
7
= 128)
10
10
= 10001010
2
(10
10
+ 128
10
= 138
10
)
-10
10
= 01110110
2
(-10
10
+128
10
= 118
10
)
ADS IFBA
www.ifba.edu.br/professores/antoniocarlos
Exerccios
1. Converta -15
(10)
para binrio com
representao em sinal/magnitude (16 bits).
2. Converta -15
(10)
para binrio com
representao em complemento a 2 (16 bits).
3. Qual o nmero, em decimal, representado
em complemento a 2 por 1010 0011
(2)
?
4. Usando complemento a 2 qual a faixa de
nmeros que podem ser representados com 8
bits?
ADS IFBA
www.ifba.edu.br/professores/antoniocarlos
Overflow
Ocorre sempre que o resultado de uma operao no
pode ser representado no hardware disponvel.
<0 <0 >=0 A-B
>=0 >=0 <0 A-B
>=0 <0 <0 A+B
<0 >=0 >= 0 A+B
Resultado Operando B Operando A Operao
Se um nmero for negativo, e o outro positivo, no
ocorrer overflow.
ADS IFBA
www.ifba.edu.br/professores/antoniocarlos
Exemplo de overflow
Adio de 2 operandos positivos (8 bits)
0100 0110
0110 0000
+
1010 0110
overflow
positivo
positivo
negativo
Isto significa que o resultado est correto se o
bit de sinal for ignorado
ADS IFBA
www.ifba.edu.br/professores/antoniocarlos
Exemplo de overflow
Adio de 2 operandos negativos (8 bits)
1000 0000
1010 0000
+
1 0010 0000
overflow
negativo
negativo
positivo
carry
Isto significa que o resultado negativo
e est em complemento a 2
ADS IFBA
www.ifba.edu.br/professores/antoniocarlos
Exemplo de overflow
Adio de operandos com sinais opostos (8 bits)
0100 0000
1010 0000
+
1110 0000
positivo
negativo
No ocorre overflow, o resultado
negativo e est em complemento a 2
negativo
ADS IFBA
www.ifba.edu.br/professores/antoniocarlos
Exemplo de overflow
Adio de operandos com sinais opostos (8 bits)
0110 0000
1100 0000
+
1 0010 0000
positivo
negativo
No ocorre overflow, o carry ignorado
e o resultado positivo
positivo
carry
ADS IFBA
www.ifba.edu.br/professores/antoniocarlos
Interface Hardware/Software
Na ocorrncia de overflow: a mquina precisa decidir
como trat-lo.
Linguagem C: no toma conhecimento do overflows. A
tarefa do programador.
FORTRAN: trata o overflow
ADS IFBA
www.ifba.edu.br/professores/antoniocarlos
Exerccios
Faa as operaes aritmticas abaixo
utilizando nmeros binrios de 8 bits e
complemento a 2:
1. +9 + 4
2. +9 - 4
3. -9 + 4
4. -9 - 4
ADS IFBA
www.ifba.edu.br/professores/antoniocarlos
Vrgula fixa (Fixed Point)
Usada apenas para inteiros
Situada direita dos dgitos
Quatro maneiras
Binrio puro
Decimal
Decimal no compactado
Decimal compactado
ADS IFBA
www.ifba.edu.br/professores/antoniocarlos
Referncias
Professora Maria Clicia Stelling de Castro.
Organizao de Computadores I. Captulo 6
Aritmtica Computacional.
http://www.ime.uerj.br/professores/Mariaclicia/O
c1/Cap6_aritm.pdf. Rio de Janeiro. 2005.
http://www.gia.deinf.ufma.br/~geraldo/disciplinas
/intoee2008_2/9_aritmetica.ppt#256,1,Aritmtica
Binria
http://www.g6-
team.com/attachment/7/1/5/0/5029.attach

Anda mungkin juga menyukai