Sei sulla pagina 1di 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 1 1 1 + + + + + 0 1 0 1 1 = = = = + 0 1 1 0 (e vai 1 para o dgito de ordem superior) 1 = 1 (e vai 1 para o dgito de ordem superior)

Adio binria
Ex: 101 + 011

Multiplicao binria
Regras:
0 0 1 1 x x x x 0 1 0 1 = = = = 0 0 0 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 1 1 0 1 0 1 = = = = 0 1 (e pede emprestado 1 para o dgito de ordem superior) 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 complemento

de

nmeros

positivos

em

A representao de nmeros positivos em complemento idntica representao em sinal e magnitude.

Representao de nmeros complemento a (base -1)

negativos

em

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 complemento a (base -1)

negativos

em

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 complemento a (base -1)

negativos

em

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 complemento a (base - 1)

negativos

em

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

Resposta: b

(do zero a b - 1 )

Espao de representao
Exemplos na base 2; quantos nmeros conseguimos representar com Com at um dgito: 0, 1 -> 2
1

nmeros -> 2
2

Com at dois dgitos: 00, 01, 10, 11

nmeros

Com at trs dgitos: 000, 001, 010, 011, 100, 101, 110, 111 -> 2
3

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


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. 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 0110 + _____ 1011 0101 0010 + _____ 0111 5 6 __ 11 5 2 __ 7 Carry sobre o bit de sinal -> estouro = overflow

No houve Carry = no overflow

Aritmtica em Complemento a 2
0101 +1010 1111 0110 +1011 0001 5 -6 -1 6 -5 1 No houve Carry = no overflow

Carry sobre o bit de sinal e aps ele = no overflow

1011 +1010 0101

-5 -6 -11

Carry somente aps o bit de sinal = overflow

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 10 mais 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 no o 8 10

, e

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

Potrebbero piacerti anche