Você está na página 1de 51

Universidade Federal de Campina Grande

Centro de Engenharia Elétrica e Informática


Departamento de Engenharia Elétrica

Circuitos Lógicos

Aula 02

Prof. Gutemberg Gonçalves dos Santos Júnior

2022.2 - Campina Grande-PB - Brasil


CRÉDITOS
▪ Slides baseados no material:
❑ Harris, D.; Harris, S., Digital Design and Computer Architecture –
ARM Edition, 2016, Morgan Kaufman

CL - Aula 02 2
REVISÃO – CONVERSÃO ENTRE BASES

Divisão – Base 8 Divisão – Base 16

Decimal
Polinômio – Base 8 Polinômio – Base 16

Divisão Polinômio
Octal Base 2 Base 2 HexaDecimal

Binário
Agrupamento Agrupamento
3 bits 4 bits

CL - Aula 02 3
EXERCÍCIOS DE REVISÃO
▪ Realize as seguintes conversões:
❑ 2310 → Hexadecimal
❑ 2316 → Binário
❑ 1101010012 → Octal
❑ 1101010012 → Hexadecimal
❑ AD16 → Octal
❑ AD16 → Decimal
❑ 458 → Decimal
❑ 348 → Binário

CL - Aula 02 4
EXERCÍCIOS DE REVISÃO
▪ Realize as seguintes conversões:
❑ 2310 → 0x17
❑ 2316 → 0b00100011
❑ 1101010012 → 0o651
❑ 1101010012 → 0x1A9
❑ AD16 → 0o255
❑ AD16 → 0d173
❑ 458 → 0d37
❑ 348 → 0b011100

CL - Aula 02 5
AULA 2

CL - Aula 02
6
VALORES BINÁRIOS E FAIXA DINÂMICA
▪ Considerando o sistema decimal:
❑ Quantos valores e qual a faixa de valores podemos representar dada
uma quantidade N de dígitos?

CL - Aula 02 7
VALORES BINÁRIOS E FAIXA DINÂMICA
▪ Considerando o sistema decimal:
❑ Quantos valores e qual a faixa de valores podemos representar dada
uma quantidade N de dígitos?
• Número de valores: 10N
• Faixa: [0, 10N - 1]
• Ex: 3 dígitos
o Número de valores = 1000 (103)
o Faixa: [0, 999]

CL - Aula 02 8
VALORES BINÁRIOS E FAIXA DINÂMICA
▪ E quando consideramos o sistema Binário?
❑ Quantos valores e qual a faixa de valores podemos representar dada
uma quantidade N de dígitos?

CL - Aula 02 9
VALORES BINÁRIOS E FAIXA DINÂMICA
▪ E quando consideramos o sistema Binário?
❑ Quantos valores e qual a faixa de valores podemos representar dada
uma quantidade N de dígitos?
• Número de valores: 2N Binário (3 dígitos)
• Faixa: [0, 2N - 1] 000

• Ex: 3 dígitos 001


010
o Número de valores = 8 (23)
011
o Faixa = [0, 7] = [0002 até 1112]
100
101
110
111

CL - Aula 02 10
CONCEITOS DE NIBS, BYTES E NIBBLES
▪ Em uma palavra binária, chamamos cada dígito de um bit
❑ 101011000
• Bit mais significativo (MSB – Most Significant Bit)
• Bit menos significativo (LSB – Least Significant Bit)

▪ O conjunto de 8 bits se chama Byte


Byte
❑ 10100011
Nibble
▪ O conjunto de 4 bits se chama Nibble
Byte Menos Significativo
❑ CAFE5516
Byte Mais Significativo
CL - Aula 02
ESTIMANDO POTÊNCIAS DE 2
▪ 210 = 1kilo = 1024 ≅ 1.000
▪ 220 = 1 mega = 1.048.576 ≅ 1.000.000
▪ 230 = 1 giga = 1.073.741.824 ≅ 1.000.000.000

▪ Desta forma, como podemos estimar o valor 222?


❑ 22 x 220 ≅ 4 milhões

▪ Quantos valores podemos representar com 16 bits?


❑ 26 x 210 ≅ 64 mil valores

CL - Aula 02 12
OPERAÇÕES ARITMÉTICAS

CL - Aula 02
13
ADIÇÃO
▪ Decimal
3387
+ 0145

▪ Binário

1011
+ 0010

CL - Aula 02 14
ADIÇÃO
▪ Decimal 11 carries
3387
+ 0145
3532

▪ Binário
1 carries
1011
+ 0010
1101

CL - Aula 02 15
ADIÇÃO EM BINÁRIO - EXEMPLOS
▪ Realize as seguintes operações

0111
+ 0010
1001
+ 0111

1011
+ 0011

CL - Aula 02 16
ADIÇÃO EM BINÁRIO - EXEMPLOS
▪ Realize as seguintes operações

11
0111
1111
+ 0010
1001
1001
+ 0111
10000
11 Overflow!
1011
+ 0011
1110
CL - Aula 02 17
OVERFLOW
▪ Os sistemas digitais operam com uma quantidade fixa de
bits!
❑ O overflow representa um resultado que não pode ser representado
na quantidade de bits disponíveis!
• No exemplo anterior, fizemos a seguinte adição:
1111
1001 9
+ 0111 + 7
10000 16 Precisamos de 5 bits
Overflow! para representar este valor!

CL - Aula 02 18
SUBTRAÇÃO
▪ Decimal
3387
- 0188

▪ Binário

1010
- 0011

CL - Aula 02 19
SUBTRAÇÃO
▪ Decimal
3387
11
- 0188
3199

▪ Binário

1010
1
- 0011
0111

CL - Aula 02 20
SUBTRAÇÃO EM BINÁRIO - EXEMPLOS
▪ Realize as seguintes operações

0111
- 0010
0101
- 0111

1011
- 0011

CL - Aula 02 21
SUBTRAÇÃO EM BINÁRIO - EXEMPLOS
▪ Realize as seguintes operações

0111
- 0010
0101
0101 111
- 0111
11110
Overflow!
1001
11
- 0011
0110
CL - Aula 02 22
REPRESENTAÇÃO DE NÚMEROS NEGATIVOS EM BINÁRIO
▪ Veremos duas maneiras para representar números negativos
no sistema binário de numeração
❑ Sinal/Magnitude (S/M)
❑ Complemento de 2

CL - Aula 02 23
REPRESENTAÇÃO EM SINAL/MAGNITUDE (S/M)
▪ Considerando um número com N bits, temos:
❑ 1 bit que representa o sinal (bit de sinal)
• Números positivos → Bit de sinal = 0
• Números negativos → Bit de sinal = 1
❑ N-1 bits que representam a magnitude

❑ Ex: Em um sistema com N = 6, temos as seguintes representações


para os valores -8 e +4:
• -8 = 1 01000
- 8
• + 4 = 0 00100
+ 4
CL - Aula 02 24
REPRESENTAÇÃO EM SINAL/MAGNITUDE (S/M)
▪ Na reprentação Sinal/Magnitude, temos a seguinte faixa
dinâmica para representação de valores:
❑ Valor assumir como exemplo que N = 5;

00000 → +0 25/2 Faixa dinâmica


• Números positivos:
01111 → +15 valores [-15, +15]
10000 → -0 25/2
• Números negativos: Faixa dinâmica
11111 → -15 valores
[-(24-1), +(24-1)]

• Generalizando: Faixa dinâmica


[-(2N-1-1), +(2N-1-1)]

CL - Aula 02 25
REPRESENTAÇÃO EM SINAL/MAGNITUDE (S/M)
▪ Problemas da representação Sinal/Magnitude
❑ Realizando a operação de adição: (+4) + (-4)

00100 (+4)
+ 10100 + (-4)

CL - Aula 02 26
REPRESENTAÇÃO EM SINAL/MAGNITUDE (S/M)
▪ Problemas da representação Sinal/Magnitude
❑ Realizando a operação de adição: (+4) + (-4)

1
00100 (+4)
+ 10100 + (-4)
11000 -8 Errado!

CL - Aula 02 27
REPRESENTAÇÃO EM SINAL/MAGNITUDE (S/M)
▪ Problemas da representação Sinal/Magnitude
❑ Realizando a operação de adição: (+4) + (-4)

1
00100 (+4)
+ 10100 + (-4)
11000 -8 Errado!

❑ Temos duas representações para o número 0 (+0 e -0)


• 00000 → +0
• 10000 → -0

CL - Aula 02 28
REPRESENTAÇÃO SINAL/MAGNITUDE
▪ Como realizar operações de soma com Sinal/Magnitude?
❑ Devemos estabelecer as seguintes regras:
1. Caso os sinais dos operandos sejam iguais, devemos somar os módulos e
repetir o sinal
2. Caso os sinais dos operandos sejam diferentes, devemos subtrair o
número de menor módulo do número de maior módulo. O sinal que
prevalecerá será o do número de maior módulo.

CL - Aula 02 29
REPRESENTAÇÃO SINAL/MAGNITUDE
▪ Como realizar operações de soma com Sinal/Magnitude?
❑ Devemos estabelecer as seguintes regras:
1. Caso os sinais dos operandos sejam iguais, devemos somar os
módulos e repetir o sinal
2. Caso os sinais dos operandos sejam diferentes, devemos subtrair o
número de menor módulo do número de maior módulo. O sinal que
prevalecerá será o do número de maior módulo.
1
00100 (+4)
+ 00100 + (+4)
01000 +8

CL - Aula 02 30
REPRESENTAÇÃO SINAL/MAGNITUDE
▪ Como realizar operações de soma com Sinal/Magnitude?
❑ Devemos estabelecer as seguintes regras:
1. Caso os sinais dos operandos sejam iguais, devemos somar os
módulos e repetir o sinal
2. Caso os sinais dos operandos sejam diferentes, devemos subtrair o
número de menor módulo do número de maior módulo. O sinal que
prevalecerá será o do número de maior módulo.

10010 (-2)
+ 10100 + (-4)
10110 -6

CL - Aula 02 31
REPRESENTAÇÃO SINAL/MAGNITUDE
▪ Como realizar operações de soma com Sinal/Magnitude?
❑ Devemos estabelecer as seguintes regras:
1. Caso os sinais dos operandos sejam iguais, devemos somar os módulos e
repetir o sinal
2. Caso os sinais dos operandos sejam diferentes, devemos subtrair o
número de menor módulo do número de maior módulo. O sinal que
prevalecerá será o do número de maior módulo.

10110 (-6) Maior módulo

- 00100 + (+4)
10010 -2

CL - Aula 02 32
REPRESENTAÇÃO SINAL/MAGNITUDE
▪ Como realizar operações de soma com Sinal/Magnitude?
❑ Devemos estabelecer as seguintes regras:
1. Caso os sinais dos operandos sejam iguais, devemos somar os módulos e
repetir o sinal
2. Caso os sinais dos operandos sejam diferentes, devemos subtrair o
número de menor módulo do número de maior módulo. O sinal que
prevalecerá será o do número de maior módulo.

00110 (+6) Maior módulo

- 10100 + (-4)
00010 +2

CL - Aula 02 33
REPRESENTAÇÃO SINAL/MAGNITUDE
▪ Exercícios
❑ Realize as seguintes operações, utilizando a representação S/M,
considerando N = 6:
• (+10) + (+3) =
• (+10) + (-13) =
• (+19) + (+13) =
• (-7) + (-3) =
• (-14) + (-25) =
• (+10) + (-25) =

CL - Aula 02 34
REPRESENTAÇÃO SINAL/MAGNITUDE
▪ Exercícios
❑ Realize as seguintes operações considerando N = 6:
• (+10) + (+3) = 001101
• (+10) + (-13) = 100011
• (+19) + (+13) = overflow!
• (-7) + (-3) = 101010
• (-14) + (-25) = overflow!
• (+10) + (-25) = 101111

CL - Aula 02 35
COMPLEMENTO DE 2 (C2)
▪ Não apresenta os problemas listados com a representação
Sinal/Módulo
❑ Podemos somar números positivos com negativos;
❑ Não há dupla representação para o valor ‘0’

CL - Aula 02 36
COMPLEMENTO DE 2 (C2)
▪ Procedimento para obtenção do complemento de 2
▪ Método:
❑ Inverter os bits (complemento de 1)
❑ Adicionar 1

CL - Aula 02 37
COMPLEMENTO DE 2 (C2)
▪ Procedimento para obtenção do complemento de 2
▪ Método:
❑ Inverter os bits (complemento de 1)
❑ Adicionar 1

▪ Exemplo
❑ Como representar o valor -3 em complemento de 2 considerando N =
4?

CL - Aula 02 38
COMPLEMENTO DE 2 (C2)
▪ Procedimento para obtenção do complemento de 2
▪ Método:
❑ Inverter os bits (complemento de 1)
❑ Adicionar 1

▪ Exemplo
❑ Como representar o valor -3 em complemento de 2 considerando N =
4?
• +3 = 0011

CL - Aula 02 39
COMPLEMENTO DE 2 (C2)
▪ Procedimento para obtenção do complemento de 2
▪ Método:
❑ Inverter os bits (complemento de 1)
❑ Adicionar 1

▪ Exemplo
❑ Como representar o valor -3 em complemento de 2 considerando N =
4?
• +3 = 0011
• -3 → 1100 + 1 = 1101

CL - Aula 02 40
COMPLEMENTO DE 2 (C2)
▪ Vamos considerar um sistema com N = 6 bits:
❑ Qual o número positivo com maior módulo?
• 011111 = +31 → +(25 - 1)
❑ Qual o número negativo com maior módulo?
• 100000 = -32 → -(25)
❑ Note que o bit mais significativo continua indicando o sinal
• 1 → negativo e 0 → positivo
❑ Qual a faixa dinâmica?
• [-32, 31]

CL - Aula 02 41
COMPLEMENTO DE 2 (C2)
▪ Generalizando para um valor qualquer de N
❑ Qual o número positivo com maior módulo?
• + (2N-1 - 1)
❑ Qual o número negativo com maior módulo?
• - (2N-1)
❑ Note que o bit mais significativo continua indicando o sinal
• 1 → negativo e 0 → positivo
❑ Qual a faixa dinâmica?
• [-(2N-1), +(2N-1 - 1)]

CL - Aula 02 42
EXERCÍCIOS
▪ Represente os números abaixo utilizando a representação
C2 com N = 6

❑ +20
❑ -20
❑ -12
❑ +15
❑ +28
❑ -32

CL - Aula 02 43
EXERCÍCIOS
▪ Represente os números abaixo utilizando a representação
C2 com N = 6

❑ +20 → 010100
❑ -20 → 101100
❑ -12 → 110100
❑ +15 → 001111
❑ +28 → 011100
❑ -32 → 100000

CL - Aula 02 44
EXERCÍCIOS
▪ Considerando a representação C2 com N = 6, qual o valor
em decimal dos números abaixo?

❑ 101010
❑ 010101
❑ 011100
❑ 101111
❑ 111111
❑ 000000
❑ 100000

CL - Aula 02 45
EXERCÍCIOS
▪ Considerando a representação C2 com N = 6, qual o valor
em decimal dos números abaixo?

❑ 101010 → -22
❑ 010101 → +21
❑ 011100 → +28
❑ 101111 → -17
❑ 111111 → -1
❑ 000000 →0
❑ 100000 → -32

CL - Aula 02 46
REGRAS PARA EXPANDIR A QUANTIDADE DE BITS
▪ Para expandir a quantidade de bits de N para M (M > N),
temos:
❑ Copiar o bit de sinal na direção do MSB
❑ Exemplo:
• Sistema com N = 5 e queremos expandir M = 8
o +5 = 00101 → 00000101
o -5 = 11011 → 11111011
o É o mesmo procedimento ao representar +5 ou -5 considerando desde o
início M = 8
❖ +5 = 00000101

❖ -5 → 11111010 + 1 → 11111011

Inversão de bits
+5 (c/8 bits) CL - Aula 02 47
ATENÇÃO
▪ Se expandirmos a quantidade de bits adicionando zero a
esquerda em C2, temos:
❑ Para valores positivos → Ok!
❑ Para valores negativos → o valor será alterado

❑ Exemplo:
• Sistema com N = 5 e queremos expandir M = 8
o +5 = 00101 → 00000101 → +5
o -5 = 11011 → 00011011 → +27

CL - Aula 02 48
COMPARAÇÃO DE SISTEMAS DE NUMERAÇÃO
Sistema de numeração Faixa Dinâmica

Sem sinal (Unsigned) [0, 2N-1]


Sinal/Magnitude (S/M) [-(2N-1-1), +(2N-1-1)]

Complemento de 2 (C2) [-(2N-1), +(2N-1-1)]

Exemplo considerando 4 bits

-8 -7 -6 -5 -4 -3 -2 -1 0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +10 +11 +12 +13 +14 +15

Sem sinal 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

1000 1001 1010 1011 1100 1101 1110 1111 0000 0001 0010 0011 0100 0101 0110 0111
C2

1111 1110 1101 1100 1011 1010 1001 0000 0001 0010 0011 0100 0101 0110 0111
S/M
1000
CL - Aula 02 49
EXERCÍCIOS

CL - Aula 02
50
ALGUMA DÚVIDA?

CL - Aula 02
51

Você também pode gostar