SlideShare uma empresa Scribd logo
Aritmética Binária e
Complemento a Base
Complemento a Base
Bernardo Nunes Gonçalves
Sumário
 Soma e multiplicação binária
 Subtração e divisão binária
 Representação com sinal
 Representação com sinal
 Sinal e magnitude
 Complemento a base.
Adição binária
 Regras:
 0 + 0 = 0
 0 + 1 = 1
 1 + 0 = 1
 1 + 0 = 1
 1 + 1 = 0 (e “vai 1” para o dígito de ordem superior)
 1 + 1 + 1 = 1 (e “vai 1” para o dígito de ordem superior)
Adição binária
 Ex: 101 + 011
Multiplicação binária
 Regras:
 0 x 0 = 0
 0 x 1 = 0
 1 x 0 = 0
 1 x 0 = 0
 1 x 1 = 1
 Mesmo método que o decimal: deslocamentos e adições.
 Número maior deve ser colocado acima do menor.
Multiplicação binária
 Ex: 101 x 011
Subtração binária
 Regras:
 0 - 0 = 0
 0 - 1 = 1 (e “pede emprestado 1” para o dígito de ordem superior)
 1 - 0 = 1
 1 - 0 = 1
 1 - 1 = 0
Subtração binária
 Ex: 101 - 011
Divisão binária
 Mesmo método que o decimal: deslocamentos e
subtrações.
 Ex:
 Ex:
Representação de números com sinal
Representação de números com sinal
Sistema sinal-magnitude
Sistema sinal-magnitude
 Algoritmo de soma (números com sinal):
 Sinais diferentes
 Encontra número com maior magnitude
 Subtrai menor do maior
 Subtrai menor do maior
 Atribui ao resultado o sinal do número de maior magnitude
 Sinais iguais
 Soma e atribui sinal dos operandos
 Atenção deve ser dada ao estouro de magnitude
 Algoritmo de soma (números com sinal)
Questões de projeto de circuitos lógicos
 Algoritmo do sistema sinal-magnitude: lógica complexa
por conta das diversas condições (requer vários testes)
leva a aritmética complicada em termos de hardware.
 Também a multiplicação em computadores é feita por
 Também a multiplicação em computadores é feita por
um artifício: para multiplicar um número A por n, basta
somar A com A, n vezes. Por exemplo, 4 x 3 = 4 + 4 +
4.
 E a divisão também pode ser feita por subtrações
sucessivas.
Complemento a Base
 Em computadores a subtração em binário é feita por um
artifício: o Método do Complemento a Base“.
 Consiste em encontrar o complemento do número em
relação a base e depois somar os números.
relação a base e depois somar os números.
 Os computadores funcionam sempre na base 2, portanto
o complemento a base será complemento a dois.
Representação de números em complemento
 Complemento é a diferença entre o maior algarismo
possível na base e cada algarismo do número.
 Através da representação em complemento a subtração
entre dois números pode ser substituída pela sua soma
entre dois números pode ser substituída pela sua soma
em complemento.
Representação de números positivos em
complemento
 A representação de números positivos em complemento
é idêntica à representação em sinal e magnitude.
Representação de números negativos em
complemento a (base -1)
 A representação dos números inteiros negativos é obtida
efetuando-se: (base - 1) menos cada algarismo do
número. Fica mais fácil entender através de exemplos…
Representação de números negativos em
complemento a (base -1)
 Ex 1: Calcular o complemento a (base - 1) do número
29710
 Se a base é 10, então 10 - 1 = 9 e o complemento a
(base -1) será complemento a 9.
Representação de números negativos em
complemento a (base -1)
 Ex 2: Calcular o complemento a (base - 1) do número
3A7E 16
 Se a base é 16, então 16 - 1 = 15 = F e o complemento
a (base -1) será complemento a F.
Caso particular: números na base 2 -
complemento a (base -1) = complemento a 1
 Para se obter o complemento a 1 de um número binário,
devemos subtrair cada algarismo de 1.
 Uma particularidade dos números binários é que, para
 Uma particularidade dos números binários é que, para
efetuar esta operação, basta inverter todos os bits.
Representação de números negativos em
complemento a (base - 1)
 Ex: Calcular o complemento a (base - 1) do número 0011
(estamos usando 4 dígitos).
2
 Se a base é 2, então 2 - 1 = 1 e o complemento a (base
-1) será complemento a 1 (C1).
Espaço de representação
 Quantas grandezas (inteiras) diferentes podemos
representar usando (n) posições 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
Espaço de representação
 Exemplos na base 2; quantos números conseguimos
representar com…
 Com até um dígito: 0, 1 - 2 números
 Com até dois dígitos: 00, 01, 10, 11 - 2 números
 Com até três dígitos: 000, 001, 010, 011, 100, 101, 110,
111 - 2 números
3
2
1
Representação em C1 dos números binários de 4
dígitos
 Repare como o espaço de representação da base 2 com 4 dígitos está
sendo usado na representação em C1 (note que há 2 representações
para o zero).
Representação em C1 dos números binários de 4
dígitos
Base 10 com 3 dígitos
 A representação varia de 000 a 999 (10 representações),
representando os números de -499 a -1 (faixa negativa),
de +1 a +499 (faixa positiva);
3
 O zero pode ser representado tanto por 000 quanto por
999.
Aritmética em complemento a (base -1)
 Na aritmética em complemento a (base - 1), basta somar
os números, sendo que um número negativo será
representado por seu complemento a (base – 1).
Aritmética em complemento a (base -1)
 Ex.: Somar + 123 com - 418 (decimal).
Aritmética em complemento a (base -1)
 Ex.: Somar + 123 com - 418 (decimal).
 Verificamos que o resultado 704 (C9) é um número negativo, isto é, o
complemento a 9 (base 10 -1) de 295.
Aritmética em complemento
 Repare que a subtração (ou soma de um número positivo
com um número negativo) se transforma, nesta
representação, em uma soma em complemento, isto é,
a soma dos complementos do número positivo com o
número negativo.
número negativo.
 Portanto, uma subtração pode ser realizada simplesmente
através da soma dos números “complementados”.
 Se o número é positivo, mantenha-o; se o número é
negativo, complemente-o; e aí, é só somar.
Aritmética 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 não requer
nenhum teste.
 No entanto, continuamos com duas representações para o
zero. Vamos a seguir discutir a solução para esse
problema.
Representação de números negativos em
complemento a base
 A representação dos números inteiros negativos em
complemento a base é obtida subtraindo-se da base
cada algarismo do número. Por ex., base 10 com 3
dígitos: 1000 - x
dígitos: 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
número (o que facilita muito no caso dos números
binários) e depois somamos 1 ao resultado. Fica mais fácil
entender através de exemplos…
Complemento a base
 Ex 1: calcular o complemento a base do número 297
 Queremos então calcular o complemento a 10 (C10) desse
número.
10
 Note que o método alternativo é mais eficiente.
Complemento a base
 Ex 2: calcular o complemento a base do número 3A7E
 Queremos então calcular o complemento a 16 (C16) desse
número.
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 número binário, basta inverter todos os bits.
C1 de um número binário, basta inverter todos os bits.
 E para obter o C2 de um número 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 número binário
0011 com 4 dígitos:
Representação em C2 dos números binários de 4
dígitos
 Vemos assim que em C2, não há duas representações para o valor 0
e conseqüentemente abriu-se lugar para mais uma representação.
No caso, mais um número negativo pode ser representado.
Representação em C2 dos números binários de 4
dígitos
Aritmética em complemento a base
 Na aritmética em complemento a base, basta somar os
números, sendo que um número negativo será
representado por seu complemento a base.
Aritmética em complemento a base
 Ex.: Somar + 123 com - 418 (decimal).
Aritmética em complemento a base
 Ex.: Somar + 123 com - 418 (decimal).
 Verificamos que o resultado 705 (C10) é um número negativo, isto é,
o complemento a 10 (base 10) de 295.
Aritmética em Complemento a 2
Aritmética em Complemento a 2
Aritmética em Complemento a 2
 A adição de dois números nesse sistema de
representação segue duas regras:
 Some os dois números e observe se ocorre o carry (vai 1)
sobre o bit de sinal e se ocorre o carry após o bit de sinal.
Some os dois números e observe se ocorre o carry (vai 1)
sobre o bit de sinal e se ocorre o carry após o bit de sinal.
 Se ocorrer um e somente um dos dois carry, então
houve estouro; caso contrário o resultado da soma está
dentro do campo de definição.
Obs: A subtração em complemento de 2 é realizada através
da soma de n°s negativos.
Aritmética 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
Não houve Carry = não overflow
Aritmética em Complemento a 2
0 1 0 1
+ 1 0 1 0
1 1 1 1
5
- 6
- 1
Não houve Carry = não overflow
Carry somente após 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 após ele
= não overflow
Complemento a dois: adição
 Ex: 5 + 3 = 8 (utilização de 4 bits)
10 10 10
 Notar: quando o bit mais significativo for 1, trata-se de
um número negativo. No caso desse exemplo seria
necessário mais um bit para representar 8 usando a
representação binária em complemento de dois.
10
Representação em C2 dos números binários de 4
dígitos
Complemento de dois: estouro de magnitude
 Em qualquer sistema de complemento de dois, existe
sempre um limite para o tamanho dos números a serem
representados.
 Exemplo: quando usamos complemento de dois com
 Exemplo: quando usamos complemento de dois com
padrões de quatro bits (um para o sinal), ao valor 9 não
está associado padrão algum; por isso não conseguimos
obter uma resposta certa para a soma 5 + 4, o resultado
apareceria como -7.
Adição em complemento de dois
 Ex: 5 + 3 = 8 (utilização de 4 bits)
10 10 10
 Utilizando-se 4 bits, o número 1000 em C2 é o -8 , e
não o 8 10
10
Complemento de dois: subtração
 Somar usando representação em C2:
 Ex: 5 - 3 = 2 (utilização de 4 bits)
Subtração em complemento de dois
 Somar usando representação em C2:
 Ex: 5 - 3 = 2 (utilização de 4 bits)
 Notar: o bit mais significativo (decorrente do último “vai-
um”) deve ser desprezado.
Aritmética em complemento a 2: exemplos
Conclusões
 O que concluímos? Que qualquer operação aritmética
pode ser realizada em computadores apenas através 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 lógicos veremos como essas
propriedades serão úteis para os engenheiros que
projetam os computadores.

Mais conteúdo relacionado

Semelhante a Aula_Zegonc_Aritmetica_Binaria_e_Complemento.pdf (20)

PPT
Organização de computadores
HELENA BEATRIZ COSTA DE OLIVEIRA
 
PDF
Circuitos aritmeticos
unifesptk
 
PDF
Apostila digital cefetes
Joãopedro Machado
 
PPTX
Matemática Computacional - Aritmética Computacional.pptx
PauloFonseca345380
 
PPT
Apresentação de Sistemas Numéricos - Bits Bytes
Anne Carolline Oliveira
 
PPTX
Sistemas numéricos
Marcelo Ribas
 
PDF
aula6ads.pdf
LuanaBatista74
 
PPTX
Sistemas numéricos
Marcelo Ribas
 
PDF
Org arq comp_2008_aula_09
Jefferson Silva
 
PPT
arquitetura de computadores
elliando dias
 
PPTX
UFCD 6024.pptx
teresa rua
 
PPT
Doc calculo _1818330395
Cresa-Grupo Campos
 
PPT
3-BasesNumericas.ppt
Antonio Lobato
 
PPT
sistemasdenumeracaoutilizadosnacomputacao5.ppt
Cristian129328
 
PDF
Calculo numerico
Berguim Vugo Wellynssom
 
PPTX
Apresentação1 sistemas numéricos
Larissa Rozza Peluso
 
PDF
Tp representação de informação
Luis Lino Ferreira
 
PPT
aula2 de sistemas de numeração para matemática
LetciaMontelo3
 
PDF
Cálculo Numérico
Sandro Lima
 
Organização de computadores
HELENA BEATRIZ COSTA DE OLIVEIRA
 
Circuitos aritmeticos
unifesptk
 
Apostila digital cefetes
Joãopedro Machado
 
Matemática Computacional - Aritmética Computacional.pptx
PauloFonseca345380
 
Apresentação de Sistemas Numéricos - Bits Bytes
Anne Carolline Oliveira
 
Sistemas numéricos
Marcelo Ribas
 
aula6ads.pdf
LuanaBatista74
 
Sistemas numéricos
Marcelo Ribas
 
Org arq comp_2008_aula_09
Jefferson Silva
 
arquitetura de computadores
elliando dias
 
UFCD 6024.pptx
teresa rua
 
Doc calculo _1818330395
Cresa-Grupo Campos
 
3-BasesNumericas.ppt
Antonio Lobato
 
sistemasdenumeracaoutilizadosnacomputacao5.ppt
Cristian129328
 
Calculo numerico
Berguim Vugo Wellynssom
 
Apresentação1 sistemas numéricos
Larissa Rozza Peluso
 
Tp representação de informação
Luis Lino Ferreira
 
aula2 de sistemas de numeração para matemática
LetciaMontelo3
 
Cálculo Numérico
Sandro Lima
 

Último (20)

PPTX
Apresentação-NR-18-Visão-Geral-Jefferson-silva.pptx
AllanArmstrong6
 
PPTX
Previsão da demanda-apresentação.pptx
theko90
 
PPTX
Treinamento_Final_CIPA_2025 para atividades em segufança do trabalho
AdrianaVieira914070
 
PPTX
treinamento pronto sobre a norma regulamentadora 35, que trata sobre o trabal...
jlsst2021
 
PPTX
aula sobr segurança no trabalho para inciciantyes que fala sobre o começo, so...
jlsst2021
 
PPTX
Apresentação_Plano - Copia.pptx planod e ação para segurnaça do trabalho
AdrianaVieira914070
 
PDF
Aula 02 - Banco de Dados - 07 04 2018.pdf
paula990345
 
PPT
Esboços. Esquemas de ligação à terra.ppt
EngenheiroAmoedo
 
PDF
Aula 8 de geologia sobres solos - engenharia civil.pdf
rhener2
 
PPTX
SISTEMAS DE ESGOTOS SANITÁRIOS - Aula 22.pptx
CamilaCamposGomezFam
 
PPTX
Apresentação_Plano de ação para desenvolvimento de trabalho de segurança
AdrianaVieira914070
 
PDF
livro de STIPKOVIC M. F. - Engrenagens.pdf
LucasAlvesGolembewsk
 
PPTX
Treinamento_Final_CIPA_apresnetação para segurnaça d trabalho
AdrianaVieira914070
 
PPTX
Apresentação1.pptx (noções básicas de informática aplicada a manufatura
LucasZavistanovicz1
 
PPTX
Gaspar Tavira biblioteca digital para escolaspúblicas e privadas como ferrame...
gaspartavira00
 
PDF
2.09.ET.Estruturas da Área da Qualidade.pdf
ClaudioEvangelistaSi
 
PPTX
Treinamento NR 30 Rev.pptx trabalho aquaviario
FlorianoSousa2
 
PPT
PTT..Apresentação Comandos Elétricos.ppt
EngenheiroAmoedo
 
PPTX
Slides - NR 10 - SEP - Treinamento Reciclagem.pptx
engraphaelaugusto
 
PDF
5S Programa de Qualidade e PadronizaçãoTransparências.pdf
JOSEEDILBERTOSILVARE
 
Apresentação-NR-18-Visão-Geral-Jefferson-silva.pptx
AllanArmstrong6
 
Previsão da demanda-apresentação.pptx
theko90
 
Treinamento_Final_CIPA_2025 para atividades em segufança do trabalho
AdrianaVieira914070
 
treinamento pronto sobre a norma regulamentadora 35, que trata sobre o trabal...
jlsst2021
 
aula sobr segurança no trabalho para inciciantyes que fala sobre o começo, so...
jlsst2021
 
Apresentação_Plano - Copia.pptx planod e ação para segurnaça do trabalho
AdrianaVieira914070
 
Aula 02 - Banco de Dados - 07 04 2018.pdf
paula990345
 
Esboços. Esquemas de ligação à terra.ppt
EngenheiroAmoedo
 
Aula 8 de geologia sobres solos - engenharia civil.pdf
rhener2
 
SISTEMAS DE ESGOTOS SANITÁRIOS - Aula 22.pptx
CamilaCamposGomezFam
 
Apresentação_Plano de ação para desenvolvimento de trabalho de segurança
AdrianaVieira914070
 
livro de STIPKOVIC M. F. - Engrenagens.pdf
LucasAlvesGolembewsk
 
Treinamento_Final_CIPA_apresnetação para segurnaça d trabalho
AdrianaVieira914070
 
Apresentação1.pptx (noções básicas de informática aplicada a manufatura
LucasZavistanovicz1
 
Gaspar Tavira biblioteca digital para escolaspúblicas e privadas como ferrame...
gaspartavira00
 
2.09.ET.Estruturas da Área da Qualidade.pdf
ClaudioEvangelistaSi
 
Treinamento NR 30 Rev.pptx trabalho aquaviario
FlorianoSousa2
 
PTT..Apresentação Comandos Elétricos.ppt
EngenheiroAmoedo
 
Slides - NR 10 - SEP - Treinamento Reciclagem.pptx
engraphaelaugusto
 
5S Programa de Qualidade e PadronizaçãoTransparências.pdf
JOSEEDILBERTOSILVARE
 

Aula_Zegonc_Aritmetica_Binaria_e_Complemento.pdf

  • 1. Aritmética Binária e Complemento a Base Complemento a Base Bernardo Nunes Gonçalves
  • 2. Sumário Soma e multiplicação binária Subtração e divisão binária Representação com sinal Representação com sinal Sinal e magnitude Complemento a base.
  • 3. Adição binária Regras: 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 0 = 1 1 + 1 = 0 (e “vai 1” para o dígito de ordem superior) 1 + 1 + 1 = 1 (e “vai 1” para o dígito de ordem superior)
  • 5. Multiplicação binária Regras: 0 x 0 = 0 0 x 1 = 0 1 x 0 = 0 1 x 0 = 0 1 x 1 = 1 Mesmo método que o decimal: deslocamentos e adições. Número maior deve ser colocado acima do menor.
  • 7. Subtração binária Regras: 0 - 0 = 0 0 - 1 = 1 (e “pede emprestado 1” para o dígito de ordem superior) 1 - 0 = 1 1 - 0 = 1 1 - 1 = 0
  • 9. Divisão binária Mesmo método que o decimal: deslocamentos e subtrações. Ex: Ex:
  • 10. Representação de números com sinal Representação de números com sinal
  • 12. Sistema sinal-magnitude Algoritmo de soma (números com sinal): Sinais diferentes Encontra número com maior magnitude Subtrai menor do maior Subtrai menor do maior Atribui ao resultado o sinal do número de maior magnitude Sinais iguais Soma e atribui sinal dos operandos Atenção deve ser dada ao estouro de magnitude Algoritmo de soma (números com sinal)
  • 13. Questões de projeto de circuitos lógicos Algoritmo do sistema sinal-magnitude: lógica complexa por conta das diversas condições (requer vários testes) leva a aritmética complicada em termos de hardware. Também a multiplicação em computadores é feita por Também a multiplicação em computadores é feita por um artifício: para multiplicar um número A por n, basta somar A com A, n vezes. Por exemplo, 4 x 3 = 4 + 4 + 4. E a divisão também pode ser feita por subtrações sucessivas.
  • 14. Complemento a Base Em computadores a subtração em binário é feita por um artifício: o Método do Complemento a Base“. Consiste em encontrar o complemento do número em relação a base e depois somar os números. relação a base e depois somar os números. Os computadores funcionam sempre na base 2, portanto o complemento a base será complemento a dois.
  • 15. Representação de números em complemento Complemento é a diferença entre o maior algarismo possível na base e cada algarismo do número. Através da representação em complemento a subtração entre dois números pode ser substituída pela sua soma entre dois números pode ser substituída pela sua soma em complemento.
  • 16. Representação de números positivos em complemento A representação de números positivos em complemento é idêntica à representação em sinal e magnitude.
  • 17. Representação de números negativos em complemento a (base -1) A representação dos números inteiros negativos é obtida efetuando-se: (base - 1) menos cada algarismo do número. Fica mais fácil entender através de exemplos…
  • 18. Representação de números negativos em complemento a (base -1) Ex 1: Calcular o complemento a (base - 1) do número 29710 Se a base é 10, então 10 - 1 = 9 e o complemento a (base -1) será complemento a 9.
  • 19. Representação de números negativos em complemento a (base -1) Ex 2: Calcular o complemento a (base - 1) do número 3A7E 16 Se a base é 16, então 16 - 1 = 15 = F e o complemento a (base -1) será complemento a F.
  • 20. Caso particular: números na base 2 - complemento a (base -1) = complemento a 1 Para se obter o complemento a 1 de um número binário, devemos subtrair cada algarismo de 1. Uma particularidade dos números binários é que, para Uma particularidade dos números binários é que, para efetuar esta operação, basta inverter todos os bits.
  • 21. Representação de números negativos em complemento a (base - 1) Ex: Calcular o complemento a (base - 1) do número 0011 (estamos usando 4 dígitos). 2 Se a base é 2, então 2 - 1 = 1 e o complemento a (base -1) será complemento a 1 (C1).
  • 22. Espaço de representação Quantas grandezas (inteiras) diferentes podemos representar usando (n) posições 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
  • 23. Espaço de representação Exemplos na base 2; quantos números conseguimos representar com… Com até um dígito: 0, 1 - 2 números Com até dois dígitos: 00, 01, 10, 11 - 2 números Com até três dígitos: 000, 001, 010, 011, 100, 101, 110, 111 - 2 números 3 2 1
  • 24. Representação em C1 dos números binários de 4 dígitos Repare como o espaço de representação da base 2 com 4 dígitos está sendo usado na representação em C1 (note que há 2 representações para o zero).
  • 25. Representação em C1 dos números binários de 4 dígitos
  • 26. Base 10 com 3 dígitos A representação varia de 000 a 999 (10 representações), representando os números de -499 a -1 (faixa negativa), de +1 a +499 (faixa positiva); 3 O zero pode ser representado tanto por 000 quanto por 999.
  • 27. Aritmética em complemento a (base -1) Na aritmética em complemento a (base - 1), basta somar os números, sendo que um número negativo será representado por seu complemento a (base – 1).
  • 28. Aritmética em complemento a (base -1) Ex.: Somar + 123 com - 418 (decimal).
  • 29. Aritmética em complemento a (base -1) Ex.: Somar + 123 com - 418 (decimal). Verificamos que o resultado 704 (C9) é um número negativo, isto é, o complemento a 9 (base 10 -1) de 295.
  • 30. Aritmética em complemento Repare que a subtração (ou soma de um número positivo com um número negativo) se transforma, nesta representação, em uma soma em complemento, isto é, a soma dos complementos do número positivo com o número negativo. número negativo. Portanto, uma subtração pode ser realizada simplesmente através da soma dos números “complementados”. Se o número é positivo, mantenha-o; se o número é negativo, complemente-o; e aí, é só somar.
  • 31. Aritmética 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 não requer nenhum teste. No entanto, continuamos com duas representações para o zero. Vamos a seguir discutir a solução para esse problema.
  • 32. Representação de números negativos em complemento a base A representação dos números inteiros negativos em complemento a base é obtida subtraindo-se da base cada algarismo do número. Por ex., base 10 com 3 dígitos: 1000 - x dígitos: 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 número (o que facilita muito no caso dos números binários) e depois somamos 1 ao resultado. Fica mais fácil entender através de exemplos…
  • 33. Complemento a base Ex 1: calcular o complemento a base do número 297 Queremos então calcular o complemento a 10 (C10) desse número. 10 Note que o método alternativo é mais eficiente.
  • 34. Complemento a base Ex 2: calcular o complemento a base do número 3A7E Queremos então calcular o complemento a 16 (C16) desse número. 16
  • 35. 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 número binário, basta inverter todos os bits. C1 de um número binário, basta inverter todos os bits. E para obter o C2 de um número obtemos primeiro o C1 (invertendo os bits) e depois somamos 1 ao resultado.
  • 36. Caso particular: base 2 (complemento a 2) Ex: calcular o complemento a 2 (C2) de um número binário 0011 com 4 dígitos:
  • 37. Representação em C2 dos números binários de 4 dígitos Vemos assim que em C2, não há duas representações para o valor 0 e conseqüentemente abriu-se lugar para mais uma representação. No caso, mais um número negativo pode ser representado.
  • 38. Representação em C2 dos números binários de 4 dígitos
  • 39. Aritmética em complemento a base Na aritmética em complemento a base, basta somar os números, sendo que um número negativo será representado por seu complemento a base.
  • 40. Aritmética em complemento a base Ex.: Somar + 123 com - 418 (decimal).
  • 41. Aritmética em complemento a base Ex.: Somar + 123 com - 418 (decimal). Verificamos que o resultado 705 (C10) é um número negativo, isto é, o complemento a 10 (base 10) de 295.
  • 42. Aritmética em Complemento a 2 Aritmética em Complemento a 2
  • 43. Aritmética em Complemento a 2 A adição de dois números nesse sistema de representação segue duas regras: Some os dois números e observe se ocorre o carry (vai 1) sobre o bit de sinal e se ocorre o carry após o bit de sinal. Some os dois números e observe se ocorre o carry (vai 1) sobre o bit de sinal e se ocorre o carry após o bit de sinal. Se ocorrer um e somente um dos dois carry, então houve estouro; caso contrário o resultado da soma está dentro do campo de definição. Obs: A subtração em complemento de 2 é realizada através da soma de n°s negativos.
  • 44. Aritmética 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 Não houve Carry = não overflow
  • 45. Aritmética em Complemento a 2 0 1 0 1 + 1 0 1 0 1 1 1 1 5 - 6 - 1 Não houve Carry = não overflow Carry somente após 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 após ele = não overflow
  • 46. Complemento a dois: adição Ex: 5 + 3 = 8 (utilização de 4 bits) 10 10 10 Notar: quando o bit mais significativo for 1, trata-se de um número negativo. No caso desse exemplo seria necessário mais um bit para representar 8 usando a representação binária em complemento de dois. 10
  • 47. Representação em C2 dos números binários de 4 dígitos
  • 48. Complemento de dois: estouro de magnitude Em qualquer sistema de complemento de dois, existe sempre um limite para o tamanho dos números a serem representados. Exemplo: quando usamos complemento de dois com Exemplo: quando usamos complemento de dois com padrões de quatro bits (um para o sinal), ao valor 9 não está associado padrão algum; por isso não conseguimos obter uma resposta certa para a soma 5 + 4, o resultado apareceria como -7.
  • 49. Adição em complemento de dois Ex: 5 + 3 = 8 (utilização de 4 bits) 10 10 10 Utilizando-se 4 bits, o número 1000 em C2 é o -8 , e não o 8 10 10
  • 50. Complemento de dois: subtração Somar usando representação em C2: Ex: 5 - 3 = 2 (utilização de 4 bits)
  • 51. Subtração em complemento de dois Somar usando representação em C2: Ex: 5 - 3 = 2 (utilização de 4 bits) Notar: o bit mais significativo (decorrente do último “vai- um”) deve ser desprezado.
  • 52. Aritmética em complemento a 2: exemplos
  • 53. Conclusões O que concluímos? Que qualquer operação aritmética pode ser realizada em computadores apenas através 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 lógicos veremos como essas propriedades serão úteis para os engenheiros que projetam os computadores.