19
Códigos – BCD- GRAY- ASCII Prof. Gustavo Yoshio Maruyama

Códigos BCD, Gray e ASCII

Embed Size (px)

Citation preview

Page 1: Códigos  BCD, Gray e ASCII

Códigos – BCD- GRAY-

ASCIIProf. Gustavo Yoshio Maruyama

Page 2: Códigos  BCD, Gray e ASCII

Objetivos

Entender as características dos seguintes códigos:

Código BCD

Código Gray

Código ASCII

Page 3: Códigos  BCD, Gray e ASCII

Códigos

Quando números, letras, ou palavras são representadas por um grupo especial

de símbolos, dizemos que estão codificados.

Ex.: Código Morse

Page 4: Códigos  BCD, Gray e ASCII

Códigos

Os sistemas digitais apenas códigos que consistem em 0s e 1s. Isto se deve à

natureza biestável dos circuitos eletrônicos digitais.

Em um sistema digital, tradutores eletrônicos (chamados codificadores e

decodificadores) são usados para converter de código a código .

Page 5: Códigos  BCD, Gray e ASCII

BCD

Vimos que qualquer decimal pode ser representado por um binário

equivalente.

Todos os sistemas digitais usam algum modo de numeração binária em suas

operações internas; porém o mundo externo é naturalmente decimal. Isto

significa que conversões entre sistemas decimal e binário são realizados

frequentemente.

Um número de base decimal pode ser convertidos para base binária como

visto em aulas anteriores. Porém é possível representar tal número de base 10

em um equivalente em código BCD.

BCD = Binary-coded-decimal (decimal codificado em binário)

Page 6: Códigos  BCD, Gray e ASCII

BCD

Representando o número 87410 em um código BCD:

8 7 4

010001111000

BCD: 100001110100

Page 7: Códigos  BCD, Gray e ASCII

BCD

BCD para decimal:

BCD: 1 0 0 0 0 1 1 1 0 1 0 0

478

Page 8: Códigos  BCD, Gray e ASCII

BCD

Como visto, é muito parecido com a conversão Hexadecimal x Binária.

Sempre separando em grupos de 4 bits (da direita para esquerda).

Porém, em código BCD NUNCA HAVERÁ a ocorrência dos seguintes códigos:

• 1010

• 1011

• 1100

• 1101

• 1110

• 1111

Se qualquer um desses números de 4 bits “proibidos” aparecer alguma vez em um máquina que use o código BCD, é, geralmente uma indicação que ocorreu algum erro.

BCD NÃO É CONVERSÃO HEXADECIMAL PARA BINÁRIO, VICE-VERSA.

Page 9: Códigos  BCD, Gray e ASCII

BCD

Se analisarmos melhor perceberemos que se efetuarmos a conversão DECIMAL x

BINÁRIO da forma tradicional, teremos:

Bem diferente do código BCD:

874/2 = 437 resto = 0

437/2 = 218 resto = 1

218/2 = 109 resto = 0

109/2 = 54 resto = 1

54/2 = 27 resto = 0

27/2 = 13 resto = 1

13/2 = 6 resto = 1

6/2 = 3 resto = 0

3/2 = 1 resto = 1

87410 = 11011010102

874 em BCD: 100001110100

PORTANTO

BCD não é:

Conversão DECIMAL x BINÁRIA

Conversão HEXADECIMAL x BINÁRIA

(vice-versa)

BCD é uma forma de CODIFICAÇÃO

Page 10: Códigos  BCD, Gray e ASCII

BCD

Page 11: Códigos  BCD, Gray e ASCII

Gray

Os sistemas digitais operam em altas velocidades e reagem a variações que

ocorrem nas entradas digitais. Assim como na vida, quando várias condições

de entrada variam ao mesmo tempo, a situação pode ser mal interpretada e

provocar reação errônea.

A fim de reduzir a probabilidade de um circuito digital interpretar mal uma

entrada que está mudando, desenvolveu-se o código Gray para representar

uma sequência de números.

A única característica distintiva do código Gray é que apenas um bit muda

entre dois números sucessivos na sequência

Page 12: Códigos  BCD, Gray e ASCII

Gray

Tabela DECIMAL, BCD e GRAY

Quantos bits tiveram

que mudar seu estado

na transição de 3 para

4, considerando a

coluna BCD?

Quantos bits tiveram

que mudar seu estado

na transição de 3 para

4, considerando a

coluna Gray?

3

1

Page 13: Códigos  BCD, Gray e ASCII

Gray

Convertendo o binário(base2) 0011 (310) para Gray.

MSB Gray é sempre o mesmo MSB do binário.

O próximo bit gray é encontrado, comparando-se o bit binário da esquerda

com o próximo.

Bits similares produzem um 0 e bits diferentes produzem 1.

b1 b2 b3 b4

0 0 1 1

g1 g2 g3 g4

Binário normal (base 2) Código Gray

0

São Iguais?

SIM

0

São Iguais?

NÃO

1

São Iguais?

SIM

0

Page 14: Códigos  BCD, Gray e ASCII

Gray

Convertendo o binário(base2) 1111 (1510) para Gray.

b1 b2 b3 b4

1 1 1 1

g1 g2 g3 g4

Binário normal (base 2) Código Gray

1

São Iguais?

SIM

0

São Iguais?

SIM

0

São Iguais?

SIM

0

Page 15: Códigos  BCD, Gray e ASCII

Gray

Page 16: Códigos  BCD, Gray e ASCII

ASCII

Além de dados numéricos, um computador precisa ser capaz de manipular

informações não numéricas. Em outras palavras um computador deve

reconhecer códigos que representam letras do alfabeto, sinais de pontuação e

outros caracteres especiais, assim como números.

O código alfanumérico mais utilizado é o Código Padrão Americano para Troca

de Informações (American Standart Code for Information Interchange – ASCII)

Código de 7 bits, portanto é possível representar 128 símbolos (2^7) .

Page 17: Códigos  BCD, Gray e ASCII

ASCII

A tabela mostra uma listagemparcial do código ASCII. A tabelafornece os equivalenteshexadecimal e decimal. Ocódigo binário de 7 bits paracada caractere é obtidoconvertendo-se o valorhexadecimal em binário.

Bola = 42 6F 6C 61

B = 4216 = 010000102

o = 6F16 = 011011112

l = 6C16 =011011002

a = 6116 = 011000012

Bola=01000010011011110110110001100001

Page 18: Códigos  BCD, Gray e ASCII

UTF-8

UTF-8 (8-bit Unicode Transformation Format) é um tipo de codificação Unicode decomprimento variável criado por Ken Thompson e Rob Pike. Pode representar qualquercarácter universal padrão do Unicode, sendo também compatível com o ASCII. Por esta razão,está lentamente a ser adaptado como tipo de codificação padrão para email, páginas web, eoutros locais onde os caracteres são armazenados.

UTF-8 usa de um a quatro bytes (estritamente, octetos) por carácter, dependendo do símboloUnicode que representa.

É necessário apenas um byte para codificar os 128 caracteres ASCII.

São necessários dois bytes para caracteres Latinos com diacríticos. São também usados doisbytes para representar caracteres dos alfabetos Grego, Cirílico, Armênio, Hebraico, Sírio eThaana (Unicode U+0080 a U+07FF). São necessários três bytes para o resto do PlanoMultilingual Básico (que contém praticamente todos os caracteres comuns utilizados).Existem ainda outros caracteres que necessitam de quatro bytes.

http://dev.networkerror.org/utf8/

Page 19: Códigos  BCD, Gray e ASCII

Exercícios

1. Transforme os seguintes números decimais para código BCD:

a) 158

b) 95

c) 1024

2. Transforme os seguintes BCDs para Decimal quando possível:

a) 10000010

b) 001010010101

c) 00011110

3. Transforme os seguintes números Binários para código Gray:

a) 100010

b) 01001101

c) 0011110

4. Considerando a Tabela ASCII, de o número Binário da palavra “Casa”