Escolar Documentos
Profissional Documentos
Cultura Documentos
Sistemas Digitais
Aula 03B – Sistemas de Numeração, Operações e
Códigos
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
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.
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
8
Complemento de 1
Solução: Complemento de 1 de números binários:
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.
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
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
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
14
Complemento de 2
Solução: Complemento de 2 de números binários:
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
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
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;
Complemento de 1;
Complemento de 2.
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
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.
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.
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. .
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.
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.
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.
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)
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;
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
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.
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;
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
41
Números em ponto flutuante
Casos especiais
Caso ±∞
42
Números em ponto flutuante
Casos especiais
Caso NaN
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
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
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
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 𝑒 )
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
51
ATENÇÃO
52