SD T01 Aula3 Operaçoes Arit Soma Sub 240606 104323

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 48

Sistemas Digitais

Aula 3

Sistemas Digitais Profª Daniela Catelan 1


Roteiro
• Representação de Números Positivos e Negativos
– Sinal Módulo ou Magnitude de Sinal
– Complemento de 1
– Complemento de 2

• Operações Aritméticas no Sistema Binário


– Adição
– Subtração

• Overflow

• Adição com Sinal


• Subtração com Sinal
• Exercícios
Sistemas Digitais Profª Daniela Catelan 2
Representação de números
Positivos e Negativos

Sistemas Digitais Profª Daniela Catelan 3


Representação de Números Positivos e Negativos
• Temos somente os algarismos 0 e 1 para representar todos
os números inteiros.

• Inteiros positivos são transformados em binário:


– 41d = 0010 1001b
– 1d = 0000 0001b
– 64d = 0100 0000b

• Essa representação de números inteiros em binário é direta


e não se preocupa com sinal, nem com formatação dos
bits.
Sistemas Digitais Profª Daniela Catelan 4
Representação de Números Positivos e Negativos
• Como representar inteiros negativos?

• Opção “natural”:
– Alocar um bit para guardar o sinal do número.
• Opção conhecida como magnitude de sinal ou sinal módulo.

• Bit mais à esquerda representa o sinal:


– 0 = positivo
– 1 = negativo
• Exemplos:
– +18 = 0001 0010
– -18 = 1001 0010

Sistemas Digitais Profª Daniela Catelan 5


Representação de Números Positivos e Negativos
• Sinal Módulo:
– Exemplo:
• Represente os seguintes números utilizando a notação Sinal
Módulo.
• A: 3510
• B: -7310

– Respostas:
• A: 3510 = 1000112 = 01000112
• B: -7310 = - 10010012 = 110010012

Sistemas Digitais Profª Daniela Catelan 6


Representação de Números Positivos e Negativos
• Problemas
– Duas representações de zero (+0 e -0).
– Deve-se tomar cuidado com o bit de sinal nas operações
aritméticas.

Sistemas Digitais Profª Daniela Catelan 7


Como resolver esse problema?

Sistemas
Sistemas Digitais
Digitais Profª Profª Daniela
Daniela Catelan
Catelan 8
COMPLEMENTO DE 2

Sistemas
Sistemas Digitais
Digitais Profª Profª Daniela
Daniela Catelan
Catelan 9
Complemento de 2
• Obtenção de Número Negativo:
– Inverte-se os bits do número positivo equivalente:
• (5)dec : 0101 = 1010
– Soma-se 1 ao número invertido:
• (-5)dec: 1010 + 1 = 1011

• Mais Exemplos:
– +2 = 0000 0010
– +1 = 0000 0001
– +0 = 0000 0000
– -1 = 1111 1111
– -2 = 1111 1110

Sistemas Digitais Profª Daniela Catelan 10


COMPLEMENTO DE 2
• Complemento de 1:
– Devemos subtrair cada algarismo de 1.
– Uma particularidade dos números binários é que para
efetuar esta operação basta inverter todos os bits.
– Exemplo:
• Calcule o complemento de 1 do número decimal 3, utilizando 4
bits.
1111
-
0011 Observe a
inversão.
0
11 0

Sistemas Digitais Profª Daniela Catelan 11


COMPLEMENTO DE 2
• Complemento de 1:
– Exemplo:
• Calcule o complemento de 1 dos números decimais de 0 a 7,
utilizando 4 bits.
Decimal ( + ) Binário Decimal ( - ) Binário
0 0000 0 1111
1 0001 -1 1110
2 0010 -2 1101
3 0011 -3 1100
4 0100 -4 1011
5 0101 -5 1010
6 0110 -6 1001
7 0111 -7 1000

Sistemas Digitais Profª Daniela Catelan 12


COMPLEMENTO DE 2
• Complemento de 2:

– Tendo o complemento de 1,
adiciona-se o número binário 1.

– Para representar um número negativo:


• Configura-se em binário o seu simétrico ( + );
• Inverte-se seus bits (Complemento de 1);
• Adiciona-se o número binário 1.

Sistemas Digitais Profª Daniela Catelan 13


COMPLEMENTO DE 2
• Complemento de 2:
– Exemplo:
• Calcule o complemento de 2 do número decimal 7, utilizando 4
bits.

0111 0
10 0 C1
+ 0001
C2 = -7 1001

Sistemas Digitais Profª Daniela Catelan 14


COMPLEMENTO DE 2
• Complemento de 2:
– Exemplo:
• Represente em Complemento de 2 os números a seguir.
• A: 310
• B: 510

• Respostas:
A:
B:
• Simétrico: 0011
2 • Simétrico: 0101
2
• C1: 1100 • C1: 1010
• C2: + 1100
0001 • C2: + 1010
1101 0001
1011

Sistemas Digitais Profª Daniela Catelan 15


COMPLEMENTO DE 2

• Para encontrar um número positivo a partir do seu oposto?


• Procede-se da mesma forma:
– Inverte-se os bits do número negativo equivalente:
• (-2)dec : 1110 = 0001

– Soma-se 1 ao número invertido:


• (2)dec: 0001 + 1 = 0010

Sistemas Digitais Profª Daniela Catelan 16


COMPLEMENTO DE 2
• Exemplos:

Sistemas Digitais Profª Daniela Catelan 17


COMPLEMENTO DE 2
• Benefícios:
– Uma representação do número zero.
– Facilita-se o trabalho aritmético:
- a subtração é transformada em duas
operações conhecidas:
• adição e inversão

Sistemas Digitais Profª Daniela Catelan 18


Representação de Números Positivos e Negativos

Sistemas Digitais Profª Daniela Catelan 19


Representação de Números Positivos e Negativos
• Extensão de Sinal
• Simplesmente replica-se o bit de sinal para a
esquerda até completar os novos bits:
– Números positivos têm infinitos zeros à esquerda.
– Números negativos têm infinitos uns à esquerda.

Sistemas Digitais Profª Daniela Catelan 20


1. Converta -15(10) para binário com representação
em magnitude de sinal (16 bits). 1111 1111 1111 1111 2

2. Converta 15(10) para binário com representação


em complemento a 2 (16 bits). 0000 0000 0000 1111
C1= 1111 1111 1111 0000
+1
C2= 1111 1111 1111 0001
3. Qual é o número, em decimal, representado em
complemento a 2 por 1010 0011(2)? 1010 0011
C1= 0101 1100
+1
C2= 0101 1101 93d
4. Usando complemento a 2 qual é a faixa de
números que podem ser representados com 8
8
2 = 256 +0 +127
bits? -128 -1

Sistemas Digitais Profª Daniela Catelan 21


OPERAÇÕES ARITMÉTICAS:

ADIÇÃO

Sistemas
Sistemas Digitais
Digitais Profª Profª Daniela
Daniela Catelan
Catelan 22
Operações Aritméticas no Sistema Binário

• Adição:

– Dígitos são somados bit a bit, da direita para a esquerda.


– Carries (vai-um) são passados para o próximo dígito à esquerda.
– Semelhante a soma decimal.
– EXEMPLO: soma em decimal.

Sistemas Digitais Profª Daniela Catelan 23


Operações Aritméticas no Sistema Binário
• ADIÇÃO
– Similar a aritmética decimal.
0 0 1 1
+0 +1 +0 +1
0 1 1 10

– Observe que:
• em decimal 1 + 1 = 2
• no sistema binário 1+1 = 102 = 210

Sistemas Digitais Profª Daniela Catelan 24


Operações Aritméticas no Sistema Binário
• ADIÇÃO
– Similar a aritmética decimal.
0 0 1 1
+0 +1 +0 +1
0 1 1 10

– Observe que:
• como a operação é para apenas 1 bits, na operação 1 + 1,
ocorre o transporte para a próxima coluna, ou seja,
– 1 + 1 = 0 e “vai um”.
• Esse “vai um” é chamado de CARRY. 11
+1
0

Sistemas Digitais Profª Daniela Catelan 25


Operações Aritméticas no Sistema Binário
• Exemplos:
– Realize as operações abaixo:
A: 112 + 102 111
+1 0 +2
3

B: 1102 + 1112 101 5

C: 10012 + 01112 1
1 11 0 6
+ 11 1 +7
11 0 1 13
1 1 11
1 00 1 9
+ 0 11 1 +7
10 0 0 0 16

Sistemas Digitais Profª Daniela Catelan 26


Operações Aritméticas no Sistema Binário

Sistemas Digitais Profª Daniela Catelan 27


OPERAÇÕES ARITMÉTICAS:

SUBTRAÇÃO

Sistemas
Sistemas Digitais
Digitais Profª Profª Daniela
Daniela Catelan
Catelan 28
Operações Aritméticas no Sistema Binário
• Subtração:
– Subtração direta.

– Nega-se o subtraendo e soma-se um (complemento de 2).


– Soma-se o resultado anterior com o minuendo.

EXEMPLO: subtração em decimal.

Sistemas Digitais Profª Daniela Catelan 29


Operações Aritméticas no Sistema Binário
• SUBTRAÇÃO

0 -0 1 1
-0 -0 -1
11
0 11 1 0

– Observe que:
• 0 - 1 = 1 e “vai um” no subtraendo.

Sistemas Digitais Profª Daniela Catelan 30


Operações Aritméticas no Sistema Binário
• Exemplos: subtração direta
– Realize as operações abaixo:
A: 1112 - 1002 111 7
- 100 -4
B: 10002 - 1112 011 3
C: 10102 - 10002 1 00 0
1 11 8
11 -7
- 11 1 1
00 0 1
1 01 0 10
- 1 00 0 -8
00 1 0 2

Sistemas Digitais Profª Daniela Catelan 31


Operações Aritméticas no Sistema Binário
– Exemplo: soma com complemento de 2
• Realize a seguinte operação.
• 710 - 510
CARRY
OVERFLO 11 11
W ++0111
-1011
VAI UM 0010

A: + 7
• Simétrico: 0111 B: - 5
2
• Simétrico: 0101
2
• C1: 1010
• C2: + 1010
0001
1011

Sistemas Digitais Profª Daniela Catelan 32


Adição e Subtração

Sistemas Digitais Profª Daniela


Profª CatelanCatelan
Ma Daniela 33
Overflow

Sistemas Digitais Profª Daniela Catelan 34


Adição e Subtração

Sistemas Digitais Profª Daniela Catelan 35


Overflow
• Situação anormal que ocorre quando o resultado de uma
operação não pode ser representado com uma dada
quantidade de bits.

• Na arquitetura MIPS o limite é 32 bits.

• Na arquitetura RISC-V: 32 e 64 bits.

• Tratamento de overflow depende do compilador e do


sistema operacional.

Sistemas Digitais Profª Daniela Catelan 36


Overflow
• O projetista de computador precisa oferecer uma maneira
de:

– Reconhecer overflow em alguns casos;

– Ignorar overflow em outros casos (endereçamento de memória, por


exemplo).

Sistemas Digitais Profª Daniela Catelan 37


ADIÇÃO COM SINAL

Sistemas
Sistemas Digitais
Digitais Profª Profª Daniela
Daniela Catelan
Catelan 38
ADIÇÃO COM SINAL

• É executado uma adição binária comum, incluindo o


bit de sinal dos operandos.

• Se houver “carry”, ele deve ser desprezado.

Sistemas Digitais Profª Daniela Catelan 39


ADIÇÃO COM SINAL
• Exemplo:
– Efetue as adições com 8 bits.
A: 310 + (-810) A: B:
+3 = 00000011 11111001
B: (-210) + (-510) -8 = 11111000
-5 = 11111011
Respostas: Conferindo:
-8: sim = 00001000 -5 = 11111011
C1 = 11110111 C1= 00000100
+1 +1
C2 = 11111000 +5 = 00000101

Sistemas Digitais Profª Daniela Catelan 40


SUBTRAÇÃO COM SINAL

Sistemas
Sistemas Digitais
Digitais Profª Profª Daniela
Daniela Catelan
Catelan 41
SUBTRAÇÃO COM SINAL

• Deve-se converter o subtraendo para complemento


de 2 e realizar uma adição binária.

Sistemas Digitais Profª Daniela Catelan 42


SUBTRAÇÃO COM SINAL
• Exemplo:
– Subtraia as equações abaixo utilizando 8 bits.
A: 810 - (+510) B:
+2 = 00000010
B: (+210) - (-610) + -6 = 00000110
+8 = 00001000
Respostas: - com - = +
-6: sim = 00000110
C1 = 11111001 A:
+1 00000011
C2 = 11111010 = -6 Pela Regra
C1 = 00000101 eu devo fazer o
+1 C2.
C2 = 00000110

Sistemas Digitais Profª Daniela Catelan 43


Próxima Aula:

Sistemas Digitais Profª Daniela Catelan 44


Exercícios

Sistemas Digitais Profª Daniela Catelan 45


EXERCÍCIOS
1. Efetue as seguintes operações 3. Calcule os complementos
em binário com 8 bits. abaixo:
a. 1210 +1510 a. 10101010010101012 → C1
b. 3510 + 5710 b. 1100000111102 → C2
c. 10110012 – 110112
d. 1000002 – 111002 4. Represente em binário com 12
e. (+5010) – (+1010) bits os seguintes números
decimais. Utilize o
f. (-5010) + (-5010)
complemento de 2 para os
números negativos.
2. Converta para binário os a. +9
números a seguir, e utilize a
b. -9
notação Sinal Módulo.
c. -23
a. -2710
d. -141
b. +4910
Sistemas Digitais Profª Daniela Catelan 46
DÚVIDAS?

Obrigada.
Sistemas Digitais Profª Daniela Catelan 47
RESPOSTAS
1. 3.
a. 000110112 a. 01010101101010102
b. 010111002 b. 0011111000102
c. 01111102
d. 0001002 4.
e. 001010002 a. 0000000010012
f. 100111002 b. 1111111101112
c. 1111111010012
2. d. 1111011100112
a. 1110112
b. 01100012

Sistemas Digitais Profª Daniela Catelan 48

Você também pode gostar