Você está na página 1de 53

Aritmtica Binria e

Complemento a Base
Bernardo Nunes Gonalves
Sumrio

 Soma e multiplicao binria


 Subtrao e diviso binria
 Representao com sinal
 Sinal e magnitude
 Complemento a base.
Adio binria
 Regras:
 0 + 0 = 0
 0 + 1 = 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 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 - 1 = 0
Subtrao binria

 Ex: 101 - 011


Diviso binria
 Mesmo mtodo que o decimal: deslocamentos e
subtraes.

 Ex:
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
 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
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.
 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
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
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 2


(estamos usando 4 dgitos).

 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)?

_ _ _ _ _ _ _ _
n n-1 n-2 n-3 3 2 1 0

n n
 Resposta: b (do zero a b - 1 )
Espao de representao
 Exemplos na base 2; quantos nmeros conseguimos
representar com

1
 Com at um dgito: 0, 1 -> 2 nmeros

2
 Com at dois dgitos: 00, 01, 10, 11 -> 2 nmeros

 Com at trs dgitos: 000, 001, 010, 011, 100, 101, 110,
3
111 -> 2 nmeros
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
3
 A representao varia de 000 a 999 (10 representaes),
representando os nmeros de -499 a -1 (faixa negativa),
de +1 a +499 (faixa positiva);

 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.
 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
 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 29710
 Queremos ento calcular o complemento a 10 (C10) desse
nmero.

 Note que o mtodo alternativo mais eficiente.


Complemento a base
 Ex 2: calcular o complemento a base do nmero 3A7E 16
 Queremos ento calcular o complemento a 16 (C16) desse
nmero.
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.
 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

 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.
 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

0101 5
Carry sobre o bit de sinal
0110 6
-> estouro = overflow
+ _____ __
1011 11

0101 5
0010 2 No houve Carry = no overflow
+ _____ __
0111 7
Aritmtica em Complemento a 2

0101 5
+1010 -6 No houve Carry = no overflow
1111 -1

0110 6
+1011 -5 Carry sobre o bit de sinal e aps ele
0001 1 = no overflow

1011 -5
Carry somente aps o bit de sinal =
+1010 -6
overflow
0101 -11
Complemento a dois: adio
 Ex: 510 + 310 = 8 10 (utilizao de 4 bits)

 Notar: quando o bit mais significativo for 1, trata-se de


um nmero negativo. No caso desse exemplo seria
necessrio 10mais um bit para representar 8 usando a
representao binria em complemento de dois.
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
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: 510 + 310 = 8 10 (utilizao de 4 bits)

 Utilizando-se 4 bits, o nmero 1000 em C2 o -8 10 , e


no o 8 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
por aqui. Em circuitos lgicos veremos como essas
propriedades sero teis para os engenheiros que
projetam os computadores.

Você também pode gostar