sistemas de numeração e códigos - ele.puc-rio.brmicro/tecdig/slides/sistemas de numeracao.pdf ·...
TRANSCRIPT
1
Sistemas de Numeração e
Códigos
Raul Queiroz Feitosa
2
Objetivo
Apresentar técnicas de representação e
converção de números em diversos sistemas
de numeração.
Sistemas de Numeração e Códigos
2
Conteúdo
Introdução
Conversão da base 10
Conversão para a base 10
Conversão entre as bases 2, 8 e 16
Adição Binária
Números Negativos – Complemento de 2
Códigos
3 Sistemas de Numeração e Códigos
Introdução
Um número na base 10, p.ex.,
7419
constitui uma representação compacta de
7·103 + 4·102 + 1·101 + 9·100
4 Sistemas de Numeração e Códigos
3
Introdução
De modo análogo, um número na base 2, p.ex.,
N= 110101
constitui uma representação compacta de
1·25 + 1·24 + 0·23 + 1·22 + 0·21 + 1·20
= 32 + 16 + 0 + 4 + 0 + 1 = 53 (decimal)
5 Sistemas de Numeração e Códigos
Conteúdo
Introdução
Conversão da base 10
Conversão para a base 10
Conversão entre as bases 2, 8 e 16
Adição Binária
Números Negativos – Complemento de 2
Códigos
6 Sistemas de Numeração e Códigos
4
Conversão da base 10
Para converter o número inteiro N dado na base 10 para a base b, divida sucessivamente por b,
e tome os restos de baixo para cima
(N)10= ( rn ··· r1 r0 )b
N b
r0 N0 b r1 N1 b
· · · Nn-1 b rn 0 parada
7 Sistemas de Numeração e Códigos
Conversão da base 10
Exercício 1:
Converta o número 65310 para a base 2 e para a base
8.
Exercício 2:
Converta o número 65310 para a base 16 usando para
os valores 10, 11, 12, 13, 14, 15 os símbolos A, B,
C, D, E, F, respectivamente.
8 Sistemas de Numeração e Códigos
5
Conversão da base 10
Para converter o número N na base 10 com parte inteira e fracionária para a base b:
a) Separe a parte inteira da fracionária
b) Transforme a parte inteira como indicado anteriormente
c) Multiplique sucessivamente a parte fracionária por b, subtraindo do resultado a parte inteira até alcançar a precisão desejada
d) Tome os subtraendos para formar a parte fracionária na ordem direta
e) Concatene a parte fracionária e inteira 9 Sistemas de Numeração e Códigos
Conversão da base 10
Exemplo :
Converter o número 653,6110 para a base 2
0,61 · 2 = 1,22
0,22· 2 = 0,44
0,42· 2 = 0,88
0,88· 2 = 1,76
Resposta: 653,6110= 1010001101,10012
1
0
0 1
do exercício anterior
10 Sistemas de Numeração e Códigos
6
Conversão da base 10
Exercício 3:
Converta o número 63,7510 para a base 2 com 4
dígitos de precisão
Exercício 4:
Converta o número 13,7810 para a base 2 com 4
dígitos de precisão
11 Sistemas de Numeração e Códigos
Conteúdo
Introdução
Conversão da base 10
Conversão para a base 10
Conversão entre as bases 2, 8 e 16
Adição Binária
Números Negativos – Complemento de 2
Códigos
12 Sistemas de Numeração e Códigos
7
Conversão para a base 10
Seja
Nb =An···A1A0 A-1A-2···
um número dado na base b. Para converter para a
base 10 basta calcular:
N10 =An bn + ···+A1b
1 + A0 b0 + A-1b
-1 + A-2b-2 + ···
13 Sistemas de Numeração e Códigos
Conversão para a base 10
Exercício 5:
Converta o número F,2116 para a base 10
Exercício 6:
Converta o número 1011,112 para a base 10
14 Sistemas de Numeração e Códigos
8
Conversão para a base 10
Procedimento prático para conversão de números da
base 2 para base 10:
a) Coloque as potências de 2 nas posições correspondentes
N2 = 1 0 1 0 0 1 , 1 0 1
b) Some as potências correspondentes ao dígito 1
N10 =32+8+1+0,5+0,25 = 41,75
32
16
8
4
2
1
.5
.25
.12
5
15 Sistemas de Numeração e Códigos
Conversão para a base 10
Exercício 7:
Converta o número 11011,012 para a base 10, usando
o procedimento proposto no slide anterior
16 Sistemas de Numeração e Códigos
9
Conteúdo
Introdução
Conversão da base 10
Conversão para a base 10
Conversão entre as bases 2, 8 e 16
Adição Binária
Números Negativos – Complemento de 2
Códigos
17 Sistemas de Numeração e Códigos
Conversão entre as bases 2, 8 e 16
Note que cada dígito octal/hexadecimal corresponde
a 3/4 dígitos binários, conforme abaixo:
0000 ↔ 0
0001 ↔ 1
0010 ↔ 2
0011 ↔ 3
0100 ↔ 4
0101 ↔ 5
0110 ↔ 6
0111 ↔ 7
1000 ↔ 8
1001 ↔ 9
1010 ↔ A
1011 ↔ B
1100 ↔ C
1101 ↔ D
1110 ↔ E
1111 ↔ F
000 ↔ 0
001 ↔ 1
010 ↔ 2
011 ↔ 3
100 ↔ 4
101 ↔ 5
110 ↔ 6
111 ↔ 7
0000 ↔ 0
0001 ↔ 1
0010 ↔ 2
0011 ↔ 3
0100 ↔ 4
0101 ↔ 5
0110 ↔ 6
0111 ↔ 7
1000 ↔ 8
1001 ↔ 9
1010 ↔ A
1011 ↔ B
1100 ↔ C
1101 ↔ D
1110 ↔ E
1111 ↔ F
hexadecimal octal
18 Sistemas de Numeração e Códigos
10
Conversão entre as bases 2, 8 e 16
Um procedimento prático consiste em converter
pacotes de dígitos binários de tamanho
correspondente partindo da vírgula em 1 dígito
octal/hexadecimal.
Exemplo:
0 0 1 1 0 1 0 0 1 0 1 1 , 0 1 0 0
1 5 1 3 , 2
3 4 B , 4
19 Sistemas de Numeração e Códigos
Conversão entre as bases 2, 8 e 16
Exercício 8:
Converta o número 1110101,012 para as bases 8 e
16. Cheque o resultado fazendo a conversão
inversa. Se necessário, concatene zeros à
esquerda/direita.
20 Sistemas de Numeração e Códigos
11
Conteúdo
Introdução
Conversão da base 10
Conversão para a base 10
Conversão entre as bases 2, 8 e 16
Adição Binária
Números Negativos – Complemento de 2
Códigos
21 Sistemas de Numeração e Códigos
Adição binária
Note que há 4 casos básicos na adição
0 0 ↔ transporte
0
+ 0
0
zero 1
0 0 ↔ transporte
1
+ 0
1
um 1
1 0 ↔ transporte
1
+ 1
0
dois 1’s
1 1 ↔ transporte
1
+ 1
1
três 1’s
22 Sistemas de Numeração e Códigos
12
Adição binária
Exercício 9:
Realize a adição dos termos abaixo na base 2. Converta cada termo e o resultado obtido para base 10 e verifique a correição do resultado.
0 1 0 1 1 1 1 1
+ 0 1 1 0 1 0 1 0
.
23 Sistemas de Numeração e Códigos
Conteúdo
Introdução
Conversão da base 10
Conversão para a base 10
Conversão entre as bases 2, 8 e 16
Adição Binária
Números Negativos – Complemento de 2
Códigos
24 Sistemas de Numeração e Códigos
13
Números negativos
Complemento de 2:
O bit mais significativo representa o sinal, os demais a magnitude.
Para o complemento de 2 de um número:
a) Escreva o módulo número negativo na base 2,
b) Complemente todos os bits,
c) Some 1 ao resultado.
Para determinar o módulo de um número em complemento de 2:
Use o mesmo procedimento.
25 Sistemas de Numeração e Códigos
Números negativos
Exemplo:
Escreva o número -9410 em 8 bits em complemento
de 2
0 1 0 1 1 1 1 0 = 9410
1 0 1 0 0 0 0 1
+ 1
1 0 1 0 0 0 1 0 =-9410
26 Sistemas de Numeração e Códigos
14
Números negativos
Exemplo:
Determine o valor decimal do número binário abaixo
dado em complemento de 2
1 0 1 0 0 0 1 0
0 1 0 1 1 1 0 1
+ 1
0 1 0 1 1 1 1 0 = 9410
27 Sistemas de Numeração e Códigos
Números negativos
Exercício 10:
Realize a subtração dos números abaixo, somando o
minuendo ao complemento de 2 do subtraendo.
(0 1 0 1 0 0 0 1)2 – (0 1 0 0 1 1 1 0)2
Converta os números para base 10 de verifique a
correição do resultado.
28 Sistemas de Numeração e Códigos
15
Números negativos
Exercício 11:
Realize a subtração dos números abaixo, somando o
minuendo ao complemento de 2 do subtraendo.
(0 1 0 0 1 1 1 0)2 – (0 1 0 1 0 0 0 1)2
Converta os números para base 10 de verifique a
correição do resultado.
29 Sistemas de Numeração e Códigos
Números negativos
Exercício 12:
Realize a subtração dos números abaixo, somando o
minuendo ao complemento de 2 do subtraendo.
(0 1 0 0 1 1 1 0)2 – (1 1 1 1 0 0 0 1)2
Converta os números para base 10 de verifique a
correição do resultado.
30 Sistemas de Numeração e Códigos
16
Números negativos
Exercício 13:
Realize a subtração dos números abaixo, somando o
minuendo ao complemento de 2 do subtraendo.
(1 1 0 0 1 1 1 0)2 – (1 1 1 1 0 0 0 1)2
Converta os números para base 10 de verifique a
correição do resultado.
31 Sistemas de Numeração e Códigos
Observações:
Com n dígitos binários (bits) podem-se escrever 2n
valores inteiros sem sinal distintos,
especificamente,
{0 ... 2n},
ou seja, com 8 bits podem-se escrever 256 números:
{000000002 ... 111111112 }={010 ... 25510}.
32 Sistemas de Numeração e Códigos
17
Observações:
Com n dígitos binários (bits) podem-se escrever 2n
valores inteiros com sinal distintos,
especificamente,
{-2n-1 ... 2n-1-1},
ou seja, com 8 bits podem-se escrever 256 números:
{100000002 ... 011111112 }={-12810 ... +12710}.
33 Sistemas de Numeração e Códigos
Conteúdo
Introdução
Conversão da base 10
Conversão para a base 10
Conversão entre as bases 2, 8 e 16
Adição Binária
Números Negativos – Complemento de 2
Códigos
34 Sistemas de Numeração e Códigos
18
Código BCD
Cada dígito decimal é representado por seu equivalente binário em 4 bits.
Exemplo : 8 7 4 (decimal)
1000 0111 0100
Exemplo : 9 4 3 (decimal)
1001 0100 0011
Exercício 14:
Converta os números BCD (0110100000111001)2 e (011111000001) 2 nos
correspondentes decimais.
35 Sistemas de Numeração e Códigos
Código Gray
Motivação: Considere um cabo de veias paralelas que
transportam o valor binário de um contador de 3 bits.
Quando a contagem passa de 3 para 4 …
Sistemas de Numeração e Códigos 36
3 1 0 4
erros
19
Código Gray
Definição: Só um bit se altera entre dois números
consecutivos.
Exemplo: Código de Gray de 3 bits
37 Sistemas de Numeração e Códigos
Código BCD
Transformação binário para Gray
38 Sistemas de Numeração e Códigos
20
Representações Binárias
Relações:
Sistemas de Numeração e Códigos 39
Bytes, Nibbles e Palavras
A maioria dos microcomputadores manipulam e armazenam informações e dados
binários em grupos de 8 bits. Oito bits equivale a 1 byte.
Números binários frequentemente são divididos em grupos de 4 bits. Como um
grupo de 4 bits é a metade de um byte, ele foi nomeado nibble.
Uma palavra é um grupo de bits que representa uma determinada unidade de
informação.
O tamanho da palavra pode ser definido como o número de bits na palavra binária
em que um sistema digital opera. O tamanho da palavra de um PC é de 8 bytes (64
bits).
Sistemas de Numeração e Códigos 40
21
Códigos Alfanuméricos
O código alfanumérico representa todos os caracteres e as funções encontrados
em um teclado de computador: 26 letras minúsculas e 26 maiúsculas, 10 dígitos, 7
sinais de pontuação, de 20 a 40 outros caracteres.
O código alfanumérico mais utilizado é o ASCII - American Standard Code for
Information Interchange (Código Padrão Americano para Intercâmbio de
Informações).
Trata-se de um código de 7 bits: 27 = 128 possíveis grupos de código. Pode ser
utilizado para transferir informações entre computadores, entre computadores e
impressoras e para armazenamento interno.
Sistemas de Numeração e Códigos 41
American Standard Code
for Information
Interchange
(Código Padrão Americano
para Intercâmbio de
Informações)
Código
ASCII
Sistemas de Numeração e Códigos 42
22
Paridade para Detecção de Erros O ruído elétrico pode causar erros durante a transmissão.
Flutuações espúrias na tensão ou circulação aparecem em todos os sistemas
eletrônicos.
Muitos sistemas digitais empregam métodos para detecção de erros e, por vezes,
para a correção.
Um dos sistemas mais simples e mais utilizados para detecção de erros é o Método
de Paridade.
Sistemas de Numeração e Códigos 43
Paridade para Detecção de Erros O método de paridade de detecção de erros requer a adição de um bit extra (bit de
paridade) para um grupo de códigos.
O bit de paridade pode ser um 0 ou 1, dependendo do número de 1s no grupo de
código.
Existem dois métodos de paridade: par e ímpar.
O transmissor e o receptor devem "concordar" sobre o tipo de verificação de
paridade utilizado.
O método de paridade PAR parece ser o mais utilizado.
Sistemas de Numeração e Códigos 44
23
Paridade para Detecção de Erros
Método de paridade PAR — o número total de bits em um
grupo, incluindo o bit de paridade, deve ser um número par.
O grupo binário 1 0 1 1 exigiria a adição de um bit de paridade 1,
tornando o grupo 1 1 0 1 1.
Sistemas de Numeração e Códigos 45
Comunicação serial assíncrona.
O primeiro bit deve sempre ser um bit de início (lógica 0).
Código ASCII é enviado primeiro por LSB e MSB por último.
Após o MSB, um bit de paridade é acrescentado para verificar erros de
transmissão.
A transmissão termina ao enviar um bit de parada (lógica 1).
Aplicação
Sistemas de Numeração e Códigos 46
24
Exercício: Represente abaixo como baria a tensão numa linha de
transmissão assíncro quando se transmite a mensagem ―alo‖. Indique
na figura a que corresponde cada grupo de bits
Aplicação
Sistemas de Numeração e Códigos 47
tempo
48
Sistemas de Numeração e Códigos
Fim
Sistemas de Numeração e Códigos