Você está na página 1de 52

Análise e Desenvolvimento de Sistemas

Sistemas Digitais
Aula 03B – Sistemas de Numeração, Operações e
Códigos

Prof. Dr. Gleison Elias da Silva


1
Indice
 Números Decimais
 Números Binários
 Conversão de Decimal para Binário
 Aritmética Binária
 Complementos de 1 e de 2 de Números Binários
 Números Sinalizados
 Operações Aritméticas com Números Sinalizados
 Números Hexadecimais
 Números Octais
 Decimal Codificado em Binário (BCD)

2
Indice
 Códigos Digitais
 Códigos de Detecção e Correção de Erro

3
Resultados de aprendizagem
 Revisar o sistema de numeração  Expressar números binários
decimal sinalizados nos formatos sinal-
 Contar no sistema de magnitude, complemento de 1,
numeração binário complemento de 2 e ponto
 Converter de decimal para flutuante.
binário e vice-versa  Realizar operações aritméticas
 Aplicar operações aritméticas com carry de saída sobre
em números binários números binários sinalizados
 Determinar os complementos  Realizar conversões entre os
de 1 e de 2 de um número sistemas de numeração binário e
binário hexadecimal
 Somar números na forma
hexadecimal

4
Resultados de aprendizagem
 Realizar conversões entre os
sistemas de numeração binário e
octal
 Expressar números decimais na
forma de decimal codificado em
binário (BCD)
 Somar números BCD
 Realizar conversões entre o
sistema binário e o código gray
 Interpretar o código padrão
americano para troca de
informações (ASCII)
 Explicar como detectar e
corrigir erros de código
5
Complemento de 1
 O complemento de 1 de um número binário é determinado
trocando-se todos os uns (1) por zeros (0) e todos os zeros
(0) por uns (1), conforme ilustrado a seguir:

Determinação do Complemento de 1

 A forma mais simples de


obter o complemento de 1
de um número binário com
um circuito digital é usar
inversores (circuitos Exemplo da obtenção do complemento de 1
NOT) em paralelo. de número binário.

6
Complemento de 1
 Para converter a partir do complemento de 1 de volta para a
forma binária verdadeira (não complementada), usamos o
mesmo procedimento descrito anteriormente.
 Para passar do complemento de 1 de volta para o binário
verdadeiro, inverta todos os bits.

Determinação do número binário de um complemento de 1

7
Complemento de 1
 Exemplo 01) Determine o complemento de 1 e cada número
binário a seguir:
 (a) 00011010

 (b) 11110111

 (c) 10001101

Agora é com você

8
Complemento de 1
 Solução: Complemento de 1 de números binários:

 (a) Compl. de 1 de 00011010 = 11100101


 (b) Compl. de 1 de 11110111 = 00001000
 (c) Compl. de 1 de 10001101 = 01110010

9
Complemento de 2
 O complemento de 2 de um
número binário é determinado
somando 1 ao LSB do
complemento de 1. Determinação do Complemento de 2
 O complemento de 2
de um número
binário negativo
pode ser obtido
usando inversores e
um somador.

Exemplo da obtenção do complemento de 2


de número binário negativo.

10
Complemento de 2
 Um método alternativo para determinar o complemento de 2
de um número binário é:
 1. Comece à direita com o LSB e escreva os bits como eles
aparecem até o primeiro 1 (inclusive).
 2. Tome o complemento de 1 dos bits restantes

Determinação do Complemento de 2 –
Método alternativo

11
Complemento de 2
 Para converter a partir do complemento de 2 de volta para a
forma binária verdadeira (não complementada), usamos o
mesmo procedimento descrito anteriormente.
 Para passar do complemento de 2 de volta para a forma binária
verdadeira, tome o complemento de 1 do número na forma do
complemento de 2 e some 1 ao bit menos significativo

Determinação do número binário de um complemento de 2

12
Complemento de 2
 O complemento de 2 de um número binário é determinado
somando 1 ao LSB do complemento de 1.

Determinação do Complemento de 2

 A forma mais simples de


obter o complemento de 1
de um número binário com
um circuito digital é usar
inversores (circuitos NOT) Uso de inversores para obter o
em paralelo. complemento de 1 de um número binário.

13
Complemento de 2
 Exemplo 02) Determine o complemento de 2 de cada número
binário a seguir:
 (a) 00010110

 (b) 11111100

 (c) 10010001

Agora é com você

14
Complemento de 2
 Solução: Complemento de 2 de números binários:

 (a) Compl. de 2 de 00010110 = 11101010


 (b) Compl. de 2 de 10010001 = 01101111
 (c) Compl. de 2 de 11111100 = 0000010

15
Para que serve esses complementos?
 Vamos subtrair o número binário 111 (7 decimal) do número
binário 1010 (10 decimal).
 Como o ser humano procede:
1 0 1 0 10 Minuendo
1 1 1 −
0 1 0
− 1 1 1 7 Subtraendo

𝟎 𝟎 𝟏 𝟏 𝟑 Resto ou diferença

Operação binária de subtração

O Pensador de Auguste Rodin

16
Para que serve esses complementos?
 Como a máquina procede:
1. Completa-se o 1 0 1 0 10 Minuendo
binário que tem a 1 1 1 −
0 1 0
quantidade de bits − 𝟎 1 1 1 7 Subtraendo
menor
𝟏 𝟎 𝟎 Complemento de 1
𝟎
2. Ontém-se o + 𝟏
complemento de 1 𝟏 𝟎 𝟎 𝟏 Complemento de 2
3. Obtém-se o
1 0 1 0 complemento de 2
+
𝟏 𝟎 𝟎 𝟏 4. Soma-se o primeiro número
com o complemento de 2
Imagem: Jim McAtee, 2018

1 𝟎 𝟎 𝟏 𝟏
5. Como o maior número tem 4 dígitos
descarta-se o bit excedente, neste caso o 5 bit

Operação binária de subtração


Robot por soma de complemento de 2

17
Números sinalizados
 Um número binário sinalizado é constituído de duas
informações:
 Sinal: indica se um número é positivo ou negativo;

 Magnitude: é o valor do número.

 Existem três formas por meio das quais os números inteiros


podem ser representados em binário:
 Sinal-magnitude;

 Complemento de 1;

 Complemento de 2.

 Dentre esses, a forma do complemento de 2 é a mais importante


e a forma sinal-magnitude é a menos usada.

18
Números sinalizados
O bit de sinal
 O bit mais à esquerda em um número binário sinalizado é o
bit de sinal, o qual nos diz se o número é positivo ou negativo.
 Um bit de sinal 0 indica um número positivo

 Um bit de sinal 1 indica um número negativo.

Número binário sinalizado com


identificação do bit de sinal

19
Números sinalizados
Forma Sinal-Magnitude
 Quando um número binário sinalizado é representado na forma
sinal-magnitude, o bit mais à esquerda é o bit de sinal e os bits
restantes são os bits de magnitude.
 Os bits de magnitude estão na forma de binário verdadeiro (não-
complementado) tanto para números positivos quanto para
negativos.

Número decimal +25 Número decimal -25


representado em número binário representado em número binário
sinalizado na forma Sinal-Magnetude sinalizado na forma Sinal-Magnetude

20
Números sinalizados
Forma de Complemento de 1
 Números positivos na forma do complemento de 1 são
representados da mesma forma que números positivos expressos
como sinal-magnitude.
 Entretanto, os números negativos estão na forma do
complemento de 1 do número positivo correspondente.

Número decimal +25


representado em
número binário

Número decimal -25


representado em
número binário em
complemento de 1
Número decimal +25 representado em números
binário e -25 em complemento de 1

21
Números sinalizados
Forma de Complemento de 2
 Os números positivos na forma do complemento de 2 são
expressos da mesma forma que as representações sinal-
magnitude e complemento de 1.
 Os números negativos são expressos em complemento de 2 dos
números positivos correspondentes. .

Número decimal +25


representado em
número binário

Número decimal -25


representado em
número binário em
complemento de 2
Número decimal +25 representado em números
binário e -25 em complemento de 2

22
O valor decimal de números sinalizados
Forma Sinal-Magnitude
 Os valores decimais de números positivos e negativos na
forma sinal-magnitude são determinados somando os pesos
de todos os bits de magnitude que são 1 e ignorando aqueles
que são zeros.
 O sinal é determinado pela análise do bit de sinal.

 Determine o valor decimal do número binário 10010101


expresso na forma sinal-magnitude.

23
O valor decimal de números sinalizados

24
O valor decimal de números sinalizados
Complemento de 1
 Valores decimais de números positivos na forma do
complemento de 1 são determinados somando os pesos de
todos os bits 1 e ignorando os pesos relativos aos zeros.
 Os valores decimais de números negativos são determinados
atribuindo um valor negativo ao peso do bit de sinal,
somando os pesos relativos aos bits 1 e somando 1 ao
resultado.

 Determine os valores decimais dos números binários sinalizados


expressos em complemento de 1:
(a) 00010111
(b) 11101000

25
O valor decimal de números sinalizados

26
O valor decimal de números sinalizados
Complemento de 2
 Valores decimais de números positivos e negativos na forma
do complemento de 2 são determinados somando os pesos das
posições de todos os bits 1 e ignorando as posições em que os
bits são zeros.
 O peso do bit de sinal em números negativos é dado com um
valor negativo.

 Determine os valores decimais dos números binários sinalizados


expressos em complemento de 2:
(a) 01010110
(b) 10101010

27
O valor decimal de números sinalizados

28
Preferência de uso: Complemento de 2
 A partir desses exemplos, podemos ver por que a forma do
complemento de 2 é a preferida para representar números
inteiros sinalizados:
 para converter para decimal, é necessário simplesmente
somar os pesos independente se o número é positivo ou
negativo.
 O sistema do complemento de 1 requer somar 1 ao resultado da
soma dos pesos para números negativos, porém não para
números positivos.
 Além disso, a forma do complemento de 1 não é muito usada
porque existem duas representações possíveis para o zero
(00000000 ou 11111111).

29
Faixa de números sinalizados
 Para números sinalizados na forma do complemento de 2, a faixa
de valores para números de n bits é:
 Faixa = −(2n − 1) a +(2n − 1 − 1)

 Com quatro bits podemos representar números em complemento


de 2 desde:
 −(24 − 1) a +(24 − 1 − 1) =−(23) a (23 − 1) = −8 a +7

 Com oito bits podemos representar números em complemento


de 2 desde:
 −(28 − 1) a +(28 − 1 − 1) =−(27) a (27 − 1) = −128 a +127

 Com 16 bits podemos representar números desde:


 −(215) a (215 − 1) = − 32.768 a + 32.767

30
Números em ponto flutuante
 Para representar números inteiros muito grandes, como 901.023,
são necessários muitos bits.
 Também é um problema quando precisamos representar
números que têm parte inteira e fracionária, como 23,5618.
 A caixa registradora ao lado funciona
com o que chamamos de operação
em ponto fixo.
 Ela pode representar apenas números
do 0.000,00 a 9.999,99.
 Se multiplicarmos:
17,50  1,25 = 21,875
Haverá um erro de representação.

31
Números em ponto flutuante
 A solução para minimizar o erro de arredondamento é o que
chamamos de sistema de numeração de ponto flutuante.
 Baseado em notação científica, é capaz de representar
números muito grandes e muito pequenos sem o aumento do
número de bits e também representa números que têm parte
inteira e fracionária.

32
Números em ponto flutuante
 Um número em ponto flutuante (também conhecido como
número real) consiste em duas partes mais um sinal.
 A mantissa é a parte do número em ponto flutuante que
representa a magnitude do número.
 O expoente é a parte do número em ponto flutuante que
representa o número de casas decimais que a vírgula decimal
(ou vírgula binária) é movida.
 O sinal é a parte do número que indica a polaridade.

33
Números em ponto flutuante
 Vamos considerar um
2 4 1 5 0 6 8 0 0 ,
número decimal que,
na forma de inteiro, é 1x 2 4 1 5 0 6 8 0 , 0
241.506.800. 2x 2 4 1 5 0 6 8 , 0 0
3x 2 4 1 5 0 6 , 8 0 0
 A mantissa dele é 4x 2 4 1 5 0 , 6 8 0 0
0,2415068 e o 5x 2 4 1 5 , 0 6 8 0 0
expoente é 9.
6x 2 4 1 , 5 0 6 8 0 0
Números de casas 7x 2 4 , 1 5 0 6 8 0 0
que a vírgula deslocou
8x 2 , 4 1 5 0 6 8 0 0
9x , 2 4 1 5 0 6 8 0 0

34
Números em ponto flutuante
 Para números binários em ponto flutuante, o formato é definido
pelo padrão IEEE 754-2019 - IEEE Standard for Floating-
Point Arithmetic de três formas:
 Precisão simples: 32 bits;

 Precisão dupla: 64 bits;

 Precisão estendida x87: 80 bits.

 Precisão estendida: 128 bits

 Todos têm o mesmo formato exceto pelo número de bits.

Formato de ponto flutuante de precisão simples de 32 bits.

35
Números em ponto flutuante
 Como dito, representando um número em ponto flutuante
podemos aumentar a quantidade de números representados com
a mesma quantidade de dígitos (6 dígitos).

E M M M M M 8

 Se quisermos representar:
Perdido
7.869,24 = 7,86924 x 103 3 7 8 6 9 2 4

 Por outro lado, a multiplicação feita na caixa registradora


17,50  1,25 = 21,875:

21,875 = 2,1875 x 10-1 -1 2 1 8 7 5

36
Números em ponto flutuante
 Na maioria dos computadores os números reais em
representação binária obedecem ao padrão IEEE-754.

Formato de ponto flutuante de precisão simples de 32 bits.

Onde:
𝑠: é o sinal, se igual 0 é positivo, se igual a 1 então negativo.
𝑒 ′ : é o expoente polarizado.
𝑚: é a mantissa.
𝑝: é a polarização.

37
Números em ponto flutuante
Expoente
 O expoente, no padrão IEEE-754, é um inteiro sem sinal;

 No caso de 32 bits, o maior número que pode ser representado


sem sinal é 255 (28 − 1) e o menor sinal é 0.
 O número presente do expoente não é, no entanto, o expoente
verdadeiro: o número é polarizado;
 Para 32 bits a polarização é igual: 𝑝 = 127;

 O maior expoente possível em 32 bits:


𝑒 ′ = 𝑒 − 𝑝 = 255 − 127 = 128
 O menor expoente possível em 32 bits (considerando o zero):
𝑒 ′ = 𝑒 − 𝑝 = 0 − 127 = −127

38
Números em ponto flutuante
Expoente
 A faixa de valores possíveis para o expoente não implica que os
maiores e menores números possíveis de serem representados
sejam da ordem de 2128 e 2−127 , respectivamente.
′ ′
 Alguns valores de expoente polarizado (𝑒 = 0; 𝑒 = 255) são
reservados para casos especiais;
 Faixa de ordem de grandeza dp expoente despolarizado, e, de
números reais em 32 bits: −126 a 127 (±1038 a ±10−38 )
 Estes casos especiais são combinações dos valores do sinal 𝑠,
expoente polarizado 𝑒 ′ e da mantissa, 𝑚.

39
Números em ponto flutuante
Casos especiais
 Valores reservados de expoente polarizado

 Todos os bits do expoente são 0: (𝑒 = 0);

 Todos os bits do expoente são 1: (𝑒 = 255).

Not a Number

40
Números em ponto flutuante
Casos especiais
 Caso −0

 Em matemática, 0 não é positivo nem negativo.

 Pode haver situações em que uma divisão resulte em um


número tão pequeno que a mantissa não seja o bastante para
armazená-lo.
 Se os sinais do numerador e do denominador forem opostos,
mas o resultado em módulo for tão pequeno que não possa
de representado na mantissa, obteremos -0.

41
Números em ponto flutuante
Casos especiais
 Caso ±∞

 Obtido pela divisão de um número por zero.

 Se o número for positivo e o divisor for 0, o resultado é ;

 Se o número for negativo e o divisor for 0, o resultado é -;

 Se o número for positivo e o divisor for -0, o resultado é -;

 Se o número for negativo e o divisor for -0, o resultado é .

42
Números em ponto flutuante
Casos especiais
 Caso NaN

 Em matemática, os resultados de alguma operações são


indefinições:
 Por exemplo 1/0 = , mas 0/0 = indefinido.

 Se o domínio for dos números reais e tivermos -1 teremos


uma indefinição, pois sua definição existe no domínio dos
números complexos.
 Toda vez que tivermos uma indefinição, obteremos um NaN
(Not a Number).

43
Números em ponto flutuante
 Para ilustrar como um número binário é expresso no formato de
ponto flutuante, vamos usar o número 1011010010001 como
exemplo.
 Primeiro, ele tem que ser expresso como 1 mais um número
binário fracionário movendo a vírgula binária 12 posições para a
esquerda e então multiplicar pela potência de dois apropriada.
(1, 𝑚)2

1011010010001 = 1,011010010001 × 212

 Como existe um 1 à esquerda da vírgula binária na expressão da


potência de dois, não é incluído na mantissa.

44
Números em ponto flutuante
 Segundo, admitindo que esse número seja positivo, o bit de sinal
é zero.
(−1)𝑠 = (−1)0 = 1
 Por último, o expoente, 12, é expresso como um expoente
polarizado somando-se 127:
𝑒 ′ = 𝑒 + 𝑝 = 12 + 127 = 139
 O expoente polarizado (𝑒 ′ ) é expresso como o número binário
10001011.

S E E E E E E E EMMMMMMMMMMMMMMMMMMMMMMM
0 1 0 0 0 1 0 1 1 0 1 1 0 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0

Representação do número binário 1011010010001 em ponto flutuante

45
Números em ponto flutuante
 A abordagem geral para determinar o valor de um número
decimal a partir de um número em ponto flutuante é expressa
pela fórmula:
′ −𝑝
Número = (−1)𝑠 . (1 + 𝑚)2 . (2 𝑒 )
Onde:
𝑠: é o sinal, se igual 0 é positivo, se igual a 1 então negativo.
𝑒 ′ : é o expoente polarizado.
𝑚: é a mantissa.
𝑝: é a polarização.

46
Números em ponto flutuante
 Considere o número em ponto flutuante:

S E E E E E E E E MMMMMMMMMMMMMMMMMMMMMMM
1 1 0 0 1 0 0 0 1 1 0 0 0 1 1 1 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0

Representação do número em ponto flutuante 1 10010001 10001110001000000000000

47
Números em ponto flutuante
 O bit de sinal é um, portanto trata-se de um número negativo.
(−1)𝑠 = (−1)1 = −1
 O expoente é polarizado 10010001 = 145:
𝑒 = 𝑒 ′ − 𝑝 = 145 − 127 = 18
 A mantissa:
(1 + 𝑚)2

10001110001 = 1,10001110001
 Aplicando a expressão:
′ −𝑝
Número = (−1)𝑠 . (1 + 𝑚)2 . (2 𝑒 )

Número = −1 1 . 1,10001110001 2 . 2145−127

48
Números em ponto flutuante
Número = −1 1 . 1,10001110001 2 . 218

Número = −1100011100010000000
1+11 bits 7 bits para
da mantissa completar o
exponte

Número = −407.680 10

49
Bibliografia
 [1] FLOYD, Thomas L., Sistemas digitais: fundamentos e aplicações;
tradução José Lucimar do Nascimento; revisão técnica Antonio Pertence
Júnior – 9ª. ed., Porto Alegre: Bookman, 2007. 888 p. ISBN-13: 978-85-7780-
107-7
 [2] TOCCI, Ronald J; WIDMER, Neal S.; MOSS, Gregory L., Sistemas
digitais: princípios e aplicações; tradução Sérgio Nascimento; revisão técnica
Renato Giacomini – 12ª ed., São Paulo: Pearson, 2019. 1056 p. (Biblioteca
Virtual Pearson), ISBN-13: 978-85-4302-501-8
 [3] CAPUANO, Francisco Gabriel; IDOETA, Ivan Valeije., Elementos de
Eletrônica Digital – 42ª ed., São Paulo: Érica, 2018. 440 p. ISBN-13: 978-85-
3653-038-3

Estas transparências foram baseadas nos livros da bibliografia acima, em sítios (sites) da
internet

.
50
Bibliografia

ISBN-13: 978-85-7780-107-7 ISBN-13: 978-85-4302-501-8 ISBN-13: 978-85-3653-038-3

NOTA: Para a bibliografia complementar consulte o plano de ensino da disciplina

51
ATENÇÃO

Os autores das imagens e dos textos contidos


nesta apresentação podem requerer direitos
autorais, assim antes de reproduzi-las ou mesmo
divulgá-las consulte o autor deste conteúdo, a fim
de solicitar a fonte do material.

52

Você também pode gostar