SD 4 - Códigos - Autenticação 4... · porque 3 bits permitem 23 = 8 combinações. Usam-se 6...

13
9/20/10 1 Mário Serafim Nunes Guilherme Silva Arroz Códigos Mário Serafim Nunes Guilherme Silva Arroz Códigos Introdução Códigos Numéricos Códigos Decimais Códigos Ponderados Códigos Reflectidos Códigos Alfanuméricos Bits, Bytes & etc. 2010/2011 Sistemas Digitais - Taguspark 2

Transcript of SD 4 - Códigos - Autenticação 4... · porque 3 bits permitem 23 = 8 combinações. Usam-se 6...

Page 1: SD 4 - Códigos - Autenticação 4... · porque 3 bits permitem 23 = 8 combinações. Usam-se 6 dessas 8 para representar os 6 pisos. 2010/2011 Sistemas Digitais - Taguspark 4 . 9/20/10

9/20/10  

1  

Mário Serafim Nunes Guilherme Silva Arroz

Códigos

Mário Serafim Nunes Guilherme Silva Arroz

  Códigos   Introdução   Códigos Numéricos   Códigos Decimais   Códigos Ponderados   Códigos Reflectidos   Códigos Alfanuméricos

  Bits, Bytes & etc.

2010/2011

Sistemas Digitais - Taguspark

2

Page 2: SD 4 - Códigos - Autenticação 4... · porque 3 bits permitem 23 = 8 combinações. Usam-se 6 dessas 8 para representar os 6 pisos. 2010/2011 Sistemas Digitais - Taguspark 4 . 9/20/10

9/20/10  

2  

Mário Serafim Nunes Guilherme Silva Arroz

  Viu-se como representar números usando apenas os dois símbolos 0 e 1.

  Mas há outro tipo de informação que é necessário representar.

  Por exemplo, uma cor, num sistema informático.

2010/2011

Sistemas Digitais - Taguspark

3

A cor deste rectângulo em RGB é CDB966 CD num máximo de FF de Vermelho B9 num máximo de FF de Verde e 66 num máximo de FF de Azul

Mário Serafim Nunes Guilherme Silva Arroz

  A solução para a representação de um determinado tipo de informação é a sua codificação utilizando os bits que forem necessários.

  Exemplo: Pretende-se representar o andar em que se encontra um elevador num prédio de 6 pisos: Duas caves, Rés-do-chão e mais três andares. São necessários pelo menos 3 bits porque 3 bits permitem 23 = 8 combinações. Usam-se 6 dessas 8 para representar os 6 pisos.

2010/2011

Sistemas Digitais - Taguspark

4

Page 3: SD 4 - Códigos - Autenticação 4... · porque 3 bits permitem 23 = 8 combinações. Usam-se 6 dessas 8 para representar os 6 pisos. 2010/2011 Sistemas Digitais - Taguspark 4 . 9/20/10

9/20/10  

3  

Mário Serafim Nunes Guilherme Silva Arroz 2010/2011

Sistemas Digitais - Taguspark

5

Palavra do código

Comprimento da palavra = 3

Por exemplo:

Mário Serafim Nunes Guilherme Silva Arroz

  A correspondência entre as entidades a representar e as configuraçõe chama-se código.

  Cada configuração dos bits do código é uma palavra de código.

  O número de bits da palavra é o comprimento do código.

  Uma restrição fundamental de um código é não haver codificações repetidas.

2010/2011

Sistemas Digitais - Taguspark

6

Page 4: SD 4 - Códigos - Autenticação 4... · porque 3 bits permitem 23 = 8 combinações. Usam-se 6 dessas 8 para representar os 6 pisos. 2010/2011 Sistemas Digitais - Taguspark 4 . 9/20/10

9/20/10  

4  

Mário Serafim Nunes Guilherme Silva Arroz 2010/2011

Sistemas Digitais - Taguspark

7

Para o mesmo exemplo pode-se escolher outro código:

Neste código, cada palavra representa numericamente o piso, considerando que o R/C é o 0, a 1ª cave o -1 e a 2ª cave o -2.

Não é obrigatório, mas este exemplo mostra que, por vezes, a codificação usa números e uma atribuição desses números.

Mário Serafim Nunes Guilherme Silva Arroz 2010/2011

Sistemas Digitais - Taguspark

8

Ainda para o mesmo exemplo um outro código:

Neste código, cada palavra é representada por quatro bits em que dois deles valem 1 e os restantes dois, valem 0.

Isto permite detectar erros. Se, por exemplo, se ler que o elevador está no piso 0001, há um erro e não se pode confiar nessa informação.

Criou-se um código com redundância, isto é, que tem a possibilidade de ter excesso de informação para permitir detecção de incongruências.

Page 5: SD 4 - Códigos - Autenticação 4... · porque 3 bits permitem 23 = 8 combinações. Usam-se 6 dessas 8 para representar os 6 pisos. 2010/2011 Sistemas Digitais - Taguspark 4 . 9/20/10

9/20/10  

5  

Mário Serafim Nunes Guilherme Silva Arroz

  Os códigos numéricos são os que permitem representar números. O que parece uma repetição do que já foi feito com a representação de números em binário.

  É uma outra forma de ver a mesma realidade quando isso é conveniente por causa do contexto.

  O código numérico mais simples consiste na representação de um número inteiro por uma palavra de código que é a sua representação em binário.

2010/2011

Sistemas Digitais - Taguspark

9

Mário Serafim Nunes Guilherme Silva Arroz

  O Código Binário Natural (CBN) é um código desse tipo em que os números se codificam pela sua representação em binário com um certo número de bits, isto é com um certo comprimento igual para todos.

2010/2011

Sistemas Digitais - Taguspark

10

CBN de 5 bits

Page 6: SD 4 - Códigos - Autenticação 4... · porque 3 bits permitem 23 = 8 combinações. Usam-se 6 dessas 8 para representar os 6 pisos. 2010/2011 Sistemas Digitais - Taguspark 4 . 9/20/10

9/20/10  

6  

Mário Serafim Nunes Guilherme Silva Arroz

  É comum ter de codificar os algarismos da base 10. Por exemplo para os colocar num mostrador (de um relógio, máquina de calcular,…).

  O código BCD (Binary Codified Decimal) é um dos códigos que o permite. Tem o comprimento 4 para todas as palavras.

2010/2011

Sistemas Digitais - Taguspark

11

Código BCD

Mário Serafim Nunes Guilherme Silva Arroz

  A representação do número 358 em BCD será, portanto, 0011 0101 1000.

2010/2011

Sistemas Digitais - Taguspark

12

Código BCD

  Não confundir o código BCD com a representação em hexadecimal!

  Não confundir um número em BCD com um número binário!

Page 7: SD 4 - Códigos - Autenticação 4... · porque 3 bits permitem 23 = 8 combinações. Usam-se 6 dessas 8 para representar os 6 pisos. 2010/2011 Sistemas Digitais - Taguspark 4 . 9/20/10

9/20/10  

7  

Mário Serafim Nunes Guilherme Silva Arroz

  O Código BCD sendo uma codificação em binário tem os pesos correspondentes às potências da base associados a cada bit. Por isso é um Código Ponderado.

  Por exemplo, o algarismo 5 é codificado com 1 nas posições correspondentes aos pesos 4 e 1.

2010/2011

Sistemas Digitais - Taguspark

13

Mário Serafim Nunes Guilherme Silva Arroz

  Há muitos outros códigos ponderados que podem ter inclusivamente, pesos negativos.

2010/2011

Sistemas Digitais - Taguspark

14

Page 8: SD 4 - Códigos - Autenticação 4... · porque 3 bits permitem 23 = 8 combinações. Usam-se 6 dessas 8 para representar os 6 pisos. 2010/2011 Sistemas Digitais - Taguspark 4 . 9/20/10

9/20/10  

8  

Mário Serafim Nunes Guilherme Silva Arroz

  A característica principal dos Códigos Reflectidos, também chamados Códigos de Gray, é que duas posições sucessivas têm apenas um bit diferente. Isto tem aplicações significativas como se verá.

  Exemplifica-se com um código reflectido de 3 bits.

2010/2011

Sistemas Digitais - Taguspark

15

Mário Serafim Nunes Guilherme Silva Arroz

  Construção de um código reflectido de n bits 1.  Parte-se do de n-1 bits 2.  Reflecte-se num “espelho”. 3.  Acrescenta-se um bit para distinguir os dois lados do

espelho.   Daí o nome de Código Reflectido.

2010/2011

Sistemas Digitais - Taguspark

16

Espelho

Page 9: SD 4 - Códigos - Autenticação 4... · porque 3 bits permitem 23 = 8 combinações. Usam-se 6 dessas 8 para representar os 6 pisos. 2010/2011 Sistemas Digitais - Taguspark 4 . 9/20/10

9/20/10  

9  

Mário Serafim Nunes Guilherme Silva Arroz

  Construção de um código reflectido de 4 bits

2010/2011

Sistemas Digitais - Taguspark

17

Espelhos ou Eixos de Simetria

Mário Serafim Nunes Guilherme Silva Arroz

  Estes códigos permitem representar caracteres de texto, isto é, letras (minúsculas e maiúsculas), algarismos, sinais de pontuação, sinais aritméticos, símbolos financeiros como o $ ou o € e outros sinais especiais (@ por exemplo).

  O mais conhecido é o ASCII (American Code for Information Interchange).

2010/2011

Sistemas Digitais - Taguspark

18

Page 10: SD 4 - Códigos - Autenticação 4... · porque 3 bits permitem 23 = 8 combinações. Usam-se 6 dessas 8 para representar os 6 pisos. 2010/2011 Sistemas Digitais - Taguspark 4 . 9/20/10

9/20/10  

10  

Mário Serafim Nunes Guilherme Silva Arroz 2010/2011

Sistemas Digitais - Taguspark

19

É, como se vê, um código de comprimento 7.

Muitas vezes os caracteres são indicados pela sua representação hexadecimal. Por exemplo A é indicado por 41H.

Mário Serafim Nunes Guilherme Silva Arroz

  O Código ASCII que foi normalizado como ISO-8859 não permite representar letras acentuadas (á, è, õ, ñ, …) caracteres especiais (æ, ß, …) nem caracteres de outras línguas.

  A solução inicial foi a de criar extensões ao ASCII, por exemplo a mais conhecida entre nós a ISO-8859-1 (ISO-Latin).

  Actualmente está em fase de generalização o uso de um novo código, o Unicode.

2010/2011

Sistemas Digitais - Taguspark

20

Page 11: SD 4 - Códigos - Autenticação 4... · porque 3 bits permitem 23 = 8 combinações. Usam-se 6 dessas 8 para representar os 6 pisos. 2010/2011 Sistemas Digitais - Taguspark 4 . 9/20/10

9/20/10  

11  

Mário Serafim Nunes Guilherme Silva Arroz 2010/2011

Sistemas Digitais - Taguspark

21

Mário Serafim Nunes Guilherme Silva Arroz

  Bit   O bit é, como se viu já, uma entidade que só pode

assumir dois valores: 0 e 1.

  Byte e Nibble   É usual designar por byte, um conjunto coerente de 8

bits. Por exemplo, um caracter ISO-8859-1 é representado por um byte.

  É também comum designar por nibble um conjunto coerente de 4 bits. Por exemplo, um dígito BCD é representado por um nibble.

2010/2011

Sistemas Digitais - Taguspark

22

Page 12: SD 4 - Códigos - Autenticação 4... · porque 3 bits permitem 23 = 8 combinações. Usam-se 6 dessas 8 para representar os 6 pisos. 2010/2011 Sistemas Digitais - Taguspark 4 . 9/20/10

9/20/10  

12  

Mário Serafim Nunes Guilherme Silva Arroz

  Palavra   À unidade mínima processada por um sistema digital

chama-se palavra (word)   o microprocessador Intel 8080, por exemplo, tinha palavras de 8

bits   o microprocessador Motorola 68000 processa palavras de 16 bits   os microprocessadores mais recentes usam palavras de 32, de

64 ou mesmo de 128 bits.

2010/2011

Sistemas Digitais - Taguspark

23

Mário Serafim Nunes Guilherme Silva Arroz

  Os sistemas digitais necessitam de grandes quantidades de bits para representar informação, sendo por isso comum utilizar múltiplos de bytes (ou de bits, ou de palavras), por exemplo   kB = 210 = 1024 byte (Quilobyte)   MB = 220 byte = 1024 Kbyte (Megabyte)   GB = 230 byte = 1024 Mbyte (Gigabyte)   TB = 240 byte = 1024 Gbyte (Terabyte)   PB = 250 byte = 1024 Tbyte (Petabyte)   etc.

2010/2011

Sistemas Digitais - Taguspark

24

Page 13: SD 4 - Códigos - Autenticação 4... · porque 3 bits permitem 23 = 8 combinações. Usam-se 6 dessas 8 para representar os 6 pisos. 2010/2011 Sistemas Digitais - Taguspark 4 . 9/20/10

9/20/10  

13  

Mário Serafim Nunes Guilherme Silva Arroz

  Livro recomendado, secções 13. e 1.4   Carlos Sêrro: Sistemas Digitais – fundamentos

algébricos, ISTPress 2003, Capítulo 2   A questão dos códigos é muito rica em

aplicações e metodologias. Existem muitos livros sobre o assunto.

  A Internet é, como de costume, uma fonte que explorada com espírito crítico tem muito para dar.

2010/2011

Sistemas Digitais - Taguspark

25