sistemas de numeração e códigos - ele.puc-rio.brmicro/tecdig/slides/sistemas de numeracao.pdf ·...

24
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

Upload: hadung

Post on 17-Dec-2018

217 views

Category:

Documents


0 download

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