Post on 21-Sep-2018
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
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
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
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.
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
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!
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
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
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
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
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
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
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