Você está na página 1de 53

Aritmtica Binria e

Complemento a Base Complemento a Base


Bernardo Nunes Gonalves
Sumrio
Soma e multiplicao binria
Subtrao e diviso binria
Representao com sinal Representao com sinal
Sinal e magnitude
Complemento a base.
Adio binria
Regras:
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1 1 + 0 = 1
1 + 1 = 0 (e vai 1 para o dgito de ordem superior)
1 + 1 + 1 = 1 (e vai 1 para o dgito de ordem superior)
Adio binria
Ex: 101 + 011
Multiplicao binria
Regras:
0 x 0 = 0
0 x 1 = 0
1 x 0 = 0 1 x 0 = 0
1 x 1 = 1
Mesmo mtodo que o decimal: deslocamentos e adies.
Nmero maior deve ser colocado acima do menor.
Multiplicao binria
Ex: 101 x 011
Subtrao binria
Regras:
0 - 0 = 0
0 - 1 = 1 (e pede emprestado 1 para o dgito de ordem superior)
1 - 0 = 1 1 - 0 = 1
1 - 1 = 0
Subtrao binria
Ex: 101 - 011
Diviso binria
Mesmo mtodo que o decimal: deslocamentos e
subtraes.
Ex: Ex:
Representao de nmeros com sinal Representao de nmeros com sinal
Sistema sinal-magnitude
Sistema sinal-magnitude
Algoritmo de soma (nmeros com sinal):
Sinais diferentes
Encontra nmero com maior magnitude
Subtrai menor do maior Subtrai menor do maior
Atribui ao resultado o sinal do nmero de maior magnitude
Sinais iguais
Soma e atribui sinal dos operandos
Ateno deve ser dada ao estouro de magnitude
Algoritmo de soma (nmeros com sinal)
Questes de projeto de circuitos lgicos
Algoritmo do sistema sinal-magnitude: lgica complexa
por conta das diversas condies (requer vrios testes)
leva a aritmtica complicada em termos de hardware.
Tambm a multiplicao em computadores feita por Tambm a multiplicao em computadores feita por
um artifcio: para multiplicar um nmero A por n, basta
somar A com A, n vezes. Por exemplo, 4 x 3 = 4 + 4 +
4.
E a diviso tambm pode ser feita por subtraes
sucessivas.
Complemento a Base
Em computadores a subtrao em binrio feita por um
artifcio: o "Mtodo do Complemento a Base.
Consiste em encontrar o complemento do nmero em
relao a base e depois somar os nmeros. relao a base e depois somar os nmeros.
Os computadores funcionam sempre na base 2, portanto
o complemento a base ser complemento a dois.
Representao de nmeros em complemento
Complemento a diferena entre o maior algarismo
possvel na base e cada algarismo do nmero.
Atravs da representao em complemento a subtrao
entre dois nmeros pode ser substituda pela sua soma entre dois nmeros pode ser substituda pela sua soma
em complemento.
Representao de nmeros positivos em
complemento
A representao de nmeros positivos em complemento
idntica representao em sinal e magnitude.
Representao de nmeros negativos em
complemento a (base -1)
A representao dos nmeros inteiros negativos obtida
efetuando-se: (base - 1) menos cada algarismo do
nmero. Fica mais fcil entender atravs de exemplos
Representao de nmeros negativos em
complemento a (base -1)
Ex 1: Calcular o complemento a (base - 1) do nmero
297
10
Se a base 10, ento 10 - 1 = 9 e o complemento a
(base -1) ser complemento a 9.
Representao de nmeros negativos em
complemento a (base -1)
Ex 2: Calcular o complemento a (base - 1) do nmero
3A7E
16
Se a base 16, ento 16 - 1 = 15 = F e o complemento
a (base -1) ser complemento a F.
Caso particular: nmeros na base 2 ->
complemento a (base -1) = complemento a 1
Para se obter o complemento a 1 de um nmero binrio,
devemos subtrair cada algarismo de 1.
Uma particularidade dos nmeros binrios que, para Uma particularidade dos nmeros binrios que, para
efetuar esta operao, basta inverter todos os bits.
Representao de nmeros negativos em
complemento a (base - 1)
Ex: Calcular o complemento a (base - 1) do nmero 0011
(estamos usando 4 dgitos).
2
Se a base 2, ento 2 - 1 = 1 e o complemento a (base
-1) ser complemento a 1 (C1).
Espao de representao
Quantas grandezas (inteiras) diferentes podemos
representar usando (n) posies em um sistema de base
(b)?
Resposta: b (do zero a b - 1 )
_ _ _ _ _ _ _ _
n n-1 n-2 n-3 0 3 2 1
n n
Espao de representao
Exemplos na base 2; quantos nmeros conseguimos
representar com
Com at um dgito: 0, 1 -> 2 nmeros
Com at dois dgitos: 00, 01, 10, 11 -> 2 nmeros
Com at trs dgitos: 000, 001, 010, 011, 100, 101, 110,
111 -> 2 nmeros
3
2
1
Representao em C1 dos nmeros binrios de 4
dgitos
Repare como o espao de representao da base 2 com 4 dgitos est
sendo usado na representao em C1 (note que h 2 representaes
para o zero).
Representao em C1 dos nmeros binrios de 4
dgitos
Base 10 com 3 dgitos
A representao varia de 000 a 999 (10 representaes),
representando os nmeros de -499 a -1 (faixa negativa),
de +1 a +499 (faixa positiva);
3
O zero pode ser representado tanto por 000 quanto por
999.
Aritmtica em complemento a (base -1)
Na aritmtica em complemento a (base - 1), basta somar
os nmeros, sendo que um nmero negativo ser
representado por seu complemento a (base 1).
Aritmtica em complemento a (base -1)
Ex.: Somar + 123 com - 418 (decimal).
Aritmtica em complemento a (base -1)
Ex.: Somar + 123 com - 418 (decimal).
Verificamos que o resultado 704 (C9) um nmero negativo, isto , o
complemento a 9 (base 10 -1) de 295.
Aritmtica em complemento
Repare que a subtrao (ou soma de um nmero positivo
com um nmero negativo) se transforma, nesta
representao, em uma soma em complemento, isto ,
a soma dos complementos do nmero positivo com o
nmero negativo. nmero negativo.
Portanto, uma subtrao pode ser realizada simplesmente
atravs da soma dos nmeros complementados.
Se o nmero positivo, mantenha-o; se o nmero
negativo, complemente-o; e a, s somar.
Aritmtica em complemento
Dessa forma, podemos constatar que o algoritmo da
soma em complemento muito mais simples que o da
soma em sinal e magnitude, uma vez que no requer
nenhum teste.
No entanto, continuamos com duas representaes para o
zero. Vamos a seguir discutir a soluo para esse
problema.
Representao de nmeros negativos em
complemento a base
A representao dos nmeros inteiros negativos em
complemento a base obtida subtraindo-se da base
cada algarismo do nmero. Por ex., base 10 com 3
dgitos: 1000 - x dgitos: 1000 - x
Ora, seria a mesma coisa subtrair cada algarismo de
(base - 1), isto , calcular o complemento a (base -1) e
depois somar 1 ao resultado.
Ou seja, encontramos o complemento a (base - 1) do
nmero (o que facilita muito no caso dos nmeros
binrios) e depois somamos 1 ao resultado. Fica mais fcil
entender atravs de exemplos
Complemento a base
Ex 1: calcular o complemento a base do nmero 297
Queremos ento calcular o complemento a 10 (C10) desse
nmero.
10
Note que o mtodo alternativo mais eficiente.
Complemento a base
Ex 2: calcular o complemento a base do nmero 3A7E
Queremos ento calcular o complemento a 16 (C16) desse
nmero.
16
Caso particular: base 2 (complemento a 2)
Subtrair cada algarismo de 1 (complemento a 1) e depois
somar 1 ao resultado.
Assim, conforme mencionado anteriormente, para obter o
C1 de um nmero binrio, basta inverter todos os bits. C1 de um nmero binrio, basta inverter todos os bits.
E para obter o C2 de um nmero obtemos primeiro o C1
(invertendo os bits) e depois somamos 1 ao resultado.
Caso particular: base 2 (complemento a 2)
Ex: calcular o complemento a 2 (C2) de um nmero binrio
0011 com 4 dgitos:
Representao em C2 dos nmeros binrios de 4
dgitos
Vemos assim que em C2, no h duas representaes para o valor 0
e conseqentemente abriu-se lugar para mais uma representao.
No caso, mais um nmero negativo pode ser representado.
Representao em C2 dos nmeros binrios de 4
dgitos
Aritmtica em complemento a base
Na aritmtica em complemento a base, basta somar os
nmeros, sendo que um nmero negativo ser
representado por seu complemento a base.
Aritmtica em complemento a base
Ex.: Somar + 123 com - 418 (decimal).
Aritmtica em complemento a base
Ex.: Somar + 123 com - 418 (decimal).
Verificamos que o resultado 705 (C10) um nmero negativo, isto ,
o complemento a 10 (base 10) de 295.
Aritmtica em Complemento a 2 Aritmtica em Complemento a 2
Aritmtica em Complemento a 2
A adio de dois nmeros nesse sistema de
representao segue duas regras:
Some os dois nmeros e observe se ocorre o carry (vai 1)
sobre o bit de sinal e se ocorre o carry aps o bit de sinal.
Some os dois nmeros e observe se ocorre o carry (vai 1)
sobre o bit de sinal e se ocorre o carry aps o bit de sinal.
Se ocorrer um e somente um dos dois carry, ento
houve estouro; caso contrrio o resultado da soma est
dentro do campo de definio.
Obs: A subtrao em complemento de 2 realizada atravs
da soma de ns negativos.
Aritmtica em Complemento a 2
Exemplos para n = 4 bits
0 1 0 1
0 1 1 0
Carry sobre o bit de sinal
-> estouro = overflow
5
6 0 1 1 0
+ _____
1 0 1 1
0 1 0 1
0 0 1 0
+ _____
0 1 1 1
-> estouro = overflow
6
__
11
5
2
__
7
No houve Carry = no overflow
Aritmtica em Complemento a 2
0 1 0 1
+ 1 0 1 0
1 1 1 1
5
- 6
- 1
No houve Carry = no overflow
Carry somente aps o bit de sinal =
overflow
0 1 1 0
+ 1 0 1 1
0 0 0 1
6
- 5
1
1 0 1 1
+ 1 0 1 0
0 1 0 1
- 5
- 6
- 1 1
Carry sobre o bit de sinal e aps ele
= no overflow
Complemento a dois: adio
Ex: 5 + 3 = 8 (utilizao de 4 bits)
10 10 10
Notar: quando o bit mais significativo for 1, trata-se de
um nmero negativo. No caso desse exemplo seria
necessrio mais um bit para representar 8 usando a
representao binria em complemento de dois.
10
Representao em C2 dos nmeros binrios de 4
dgitos
Complemento de dois: estouro de magnitude
Em qualquer sistema de complemento de dois, existe
sempre um limite para o tamanho dos nmeros a serem
representados.
Exemplo: quando usamos complemento de dois com Exemplo: quando usamos complemento de dois com
padres de quatro bits (um para o sinal), ao valor 9 no
est associado padro algum; por isso no conseguimos
obter uma resposta certa para a soma 5 + 4, o resultado
apareceria como -7.
Adio em complemento de dois
Ex: 5 + 3 = 8 (utilizao de 4 bits)
10 10 10
Utilizando-se 4 bits, o nmero 1000 em C2 o -8 , e
no o 8
10
10
Complemento de dois: subtrao
Somar usando representao em C2:
Ex: 5 - 3 = 2 (utilizao de 4 bits)
Subtrao em complemento de dois
Somar usando representao em C2:
Ex: 5 - 3 = 2 (utilizao de 4 bits)
Notar: o bit mais significativo (decorrente do ltimo vai-
um) deve ser desprezado.
Aritmtica em complemento a 2: exemplos
Concluses
O que conclumos? Que qualquer operao aritmtica
pode ser realizada em computadores apenas atravs de
somas (diretas ou em complemento)!
Legal, mas para que serve isso? Por enquanto, ficamos Legal, mas para que serve isso? Por enquanto, ficamos
por aqui. Em circuitos lgicos veremos como essas
propriedades sero teis para os engenheiros que
projetam os computadores.

Você também pode gostar