Você está na página 1de 20

Circuitos Digitais

Aula 8 Aritmtica binria


DTL/IM/UFRRJ Marcel William Rocha da Silva

Objetivos da aula
Aula passada
Exerccios de projeto de circuitos combinacionais

Aula de hoje
Operaes com nmeros binrios Representao com complemento de 2

Aritmtica binria
Possui os mesmos princpios da aritmtica na base 10
Exemplos
376 + 461 = ?? 910 - 138 = ??

Soma a operao fundamental


CIs modernos usam apenas adio para implementar subtrao, multiplicao e diviso

Caractersticas da soma no sistema posicional


Base 10: Vai um quando dgitos somados ultrapassam 9 Base 2: Vai um quando dgitos somados ultrapassam 1 Outras bases: Igual!

Exemplos
Adio em binrio:
011 + 110 = ?? (3 + 6) 1001 + 1111 = ?? (9 + 15)

Subtrao em binrio:
110 010 = ?? (6 - 2) 11011 01101 = ?? (27 - 13)

Nmeros com sinal


(representao sinal-magnitude)
O bit mais significativo (MSB) indica o sinal
Bit de sinal

Normalmente:
0 = positivo 1 = negativo

Bits menos significativos (LSB) restantes representam a grandeza


Magnitude

Exemplo
Nmero com sete bits

Complemento a 2 de nmeros binrios


Forma diferenciada de representar nmeros binrios Facilita as operaes aritmticas
Adio e subtrao so idnticas Circuitos mais simples de construir

Complemento a 1
Inverter os bits do nmero (magnitude)

Complemento a 2
Somar 1 ao complemento a 1

Exemplos
9 1001 0110 0111 4 100 011 100

Representao de nmeros com sinal no sistema de complemento a 2


Ns negativos no sistema complemento a 2
Bit mais significativo = bit de sinal Nmero positivo
Bit de sinal = 0 Magnitude representada em binrio

Nmero negativo
Bit de sinal = 1 Magnitude representada em complemento a 2

Exemplos
Representar os nmeros abaixo em complemento a 2 (4 bits de magnitude e 1 bit de sinal)
+9 -10 -4

Extenso de sinal
Representar um nmero com mais bits que o necessrio
til quando o sistema usa um tamanho fixo de bits

Nmero positivo recebe zeros esquerda


Exemplo: 9 01001 0000 1001

Nmero negativo deve receber uns 1s esquerda


Exemplo: -9 10111 1111 0111

Negao
Negao do nmero (multiplicar por -1)
Permite trocar de sinal

Neste sistema, basta calcular o complemento a 2 da atual representao


Neste caso, com todos os bits, incluindo o bit de sinal

Exemplos
9 001001 -10 110110 -4 111100 : : : -9 110111 10 001010 4 000100

Adio em complemento a 2
Realizar adio binria dos dgitos da representao, incluindo bit de sinal
Ignorar vai um do bit de sinal Se resultado positivo, estar representado na forma binria Se resultado negativo, estar representado na forma complemento a 2

4 casos
Dois nmeros positivos Dois nmeros negativos Positivo maior do que um negativo Negativo maior que positivo

Exemplos
Representao complemento a 2 com 6 bits
1 bit de sinal + 5 de magnitude

Exemplos
9 + 5 = ?? (-10) + (-4) = ?? 9 + (-5) = ?? (-10) + 9 = ?? (-9) + 9 = ??

Subtrao em complemento a 2
Utilizar a operao de negao e adio

Subtrao: A B
Negar o nmero a ser subtrado (B) Fazer a adio de B com A

Mesmos 4 casos j vistos na adio

Exemplo: 9 5 = ?? (usando 1+5 bits)

Overflow
Ocorre quando o quando resultado da adio no cabe dentro da sua representao
Ex: 20 + 15 = ?? (usando 1+5 bits)

Bits de magnitude invadem bit de sinal


Um dos problemas fundamentais da computao

Overflow
Como detectar o overflow?
Somente ocorre quando somando dois nmeros de mesmo sinal (positivos ou negativos) Verificar se resultado da soma possui mesmo sinal dos operadores suficiente

Caso seja detectado o overflow, o resultado obtido pode ser intil


Neste caso, o usurio deve ser notificado

Visualizao de nmeros binrios e operaes


Adio
Andar no sentido horrio Nmero de casas da parcela somada Ex.: 1 + 4, -3 + 5

Subtrao
Andar no sentido antihorrio Nmero de casas da parcela subtrada Ex.: 7 - 3, -3 - 2

Multiplicao
Idntica multiplicao na base 10
Cada bit do multiplicador multiplica o multiplicando Resultado deslocado um bit a cada multiplicao do LSB para o MSB Resultados somados para obter resultado

Ex: 0101 * 0100 = ?? (5 * 4)

Multiplicao em complemento a 2
Passo a passo
Converter os nmeros negativos em complemento a 2 para o seu valor positivo (negao) Fazer a multiplicao de cada dgito e somar em um acumulador
Somas dois a dois Considerar o deslocamento esquerda

Fazer novamente a converso para valor negativo (negao) caso os nmeros multiplicados tenham sinais diferentes

Diviso
Tambm tira vantagem do complemento a 2 Verificar quantas vezes o divisor cabe no dividendo
Operaes sucessivas de subtrao do dividendo pelo divisor Converter o divisor para o valor negativo em complemento a 2 e fazer a adio com o dividendo
Operaes com acumulador

Acaba quando o divisor menor que o dividendo Se os valores originais tem sinais diferentes, o resultado negativo

Você também pode gostar