• Nenhum resultado encontrado

Circuitos Digitais I. Notas de Aula. Sistemas de Representação. Bases e Códigos. Bases

N/A
N/A
Protected

Academic year: 2021

Share "Circuitos Digitais I. Notas de Aula. Sistemas de Representação. Bases e Códigos. Bases"

Copied!
10
0
0

Texto

(1)

Circuitos Digitais I

Notas de Aula

Sistemas de Representa¸

ao

Num´

ericos

Bases e C´

odigos

Ricardo Tokio Higuti

Departamento de Engenharia El´etrica - FEIS - Unesp

Bases

• ´E importante representar valores das informa¸c˜oes que desejamos pro-cessar;

• Por exemplo, num sinal amostrado, converter uma amplitude em uma sequˆencia de bits;

• O mais comum ´e utilizar a base 10:

358.1710= 3 × 102+ 5 × 101+ 8 × 100+ 1 × 10−1+ 7 × 10−2

(2)

Representa¸

ao em uma base b

N´umero representado numa base inteira b > 1, com n d´ıgitos na parte inteira e m d´ıgitos na parte fracion´aria:

Nb= (an−1an−2 · · · a2 a1a0 · a−1a−2 · · · a−m+1 a−m)b Nb= an−1× b n−1 + an−2× b n−2 + · · · + a2× b 2 + a1× b 1 + a0× b 0 + +a−1× b−1+ a−2× b−2+ · · · + a−m+1× b−m+1+ a−m× b−m • D´ıgitos v´alidos: 0 a (b − 1)

• Parte inteira (positiva) com n d´ıgitos: valores de 0 a (bn

− 1) Base 2

• ´E uma das bases mais importantes em circuitos digitais; • D´ıgitos v´alidos: 0 e 1;

• BIT: BInary digiT - d´ıgito bin´ario; • N´umero representado na base 2:

1011.112= 1 × 2 3

+ 1 × 21

+ 2 × 20

+ 1 × 2−1+ 1 × 2−2= 11.7510

• Um conjunto de 8 bits ´e chamado de Byte (B);

• Um conjunto de 4 bits (meio Byte) ´e chamado de Nibble.

Convers˜

ao da base 10 para uma base b

Parte inteira

Seja um n´umero inteiro positivo escrito na base b: Nb= an−1× b

n−1

+ an−2× b n−2

+ · · · + a2× b2+ a1× b1+ a0× b0,

onde lembra-se que 0 ≤ ai≤ b − 1,

Utilizando-se divis˜oes inteiras (11/3 = 3, resto 2), divide-se Nb por b,

obtendo-se: Nb0= Nb b = an−1× b n−2 + an−2× b n−3 + · · · + a2× b 1 + a1× b 0 , resto a0.

Ou seja, o resto da divis˜ao inteira de Nb por b ´e igual ao d´ıgito menos

significativo do n´umero escrito na base b. Repetindo-se a opera¸c˜ao de divis˜ao:

Nb1= Nb0 b = an−1× b n−3 + an−2× b n−4 + · · · + a2× b 0 , resto a1.

e assim por diante.

Esta opera¸c˜ao ´e feita at´e que o resultado da divis˜ao seja menor que b, que ser´a o ´ultimo resto da divis˜ao, e portanto o valor do d´ıgito mais significativo.

Portanto, para converter um n´umero inteiro positivo da base 10 para a base b, basta fazer divis˜oes inteiras sucessivas por b. Os restos das divis˜oes s˜ao os d´ıgitos do n´umero na base b.

(3)

Exemplos

• O n´umero 18 na base 10, convertido para a base 2, seria: 18 2 = 9, resto 0 −→ a0= 0 9 2 = 4, resto 1 −→ a1 = 1 4 2 = 2, resto 0 −→ a2 = 0 2 2 = 1, resto 0 −→ a3 = 0 1 2 = 0, resto 1 −→ a4 = 1 Portanto: 1810= 100102= 1 × 24+ 1 × 21

• Convertendo o n´umero 18 da base 10 para a base 3: 18 3 = 6, resto 0 −→ a0= 0 6 3 = 2, resto 0 −→ a1 = 0 2 3 = 0, resto 2 −→ a2 = 2 Portanto: 1810= 2003= 2 × 32

Convers˜

ao da base 10 para uma base b

Parte fracion´aria

Seja um n´umero fracion´ario escrito na base b:

Nb= a−1× b−1+ a−2× b−2+ a−3× b−3+ a−4× b−4+ · · ·

Ao multiplicar Nbpor b, fica-se com:

Nb× b = a−1+ a−2× b−1+ a−3× b−2+ a−4× b−3+ · · ·

Ou seja, o resultado tem uma parte inteira (a−1) e uma parte fracion´aria.

Portanto, a parte inteira ´e o valor do d´ıgito logo ap´os o ponto decimal: a−1.

Repetindo-se a opera¸c˜ao, toma-se a parte fracion´aria de (Nb× b) e

multiplica-se por b novamente, obtendo-se o d´ıgito a−2, e assim

(4)

Exemplos

• O n´umero 0.75 na base 10, convertido para a base 2, seria: 0.75 × 2 = 1.5 −→ a−1= 1

0.5 × 2 = 1.0 −→ a−2= 1

Portanto:

0.7510= 0.112= 1 × 2−1+ 1 × 2−2

• Convertendo o n´umero 0.75 da base 10 para a base 3: 0.75 × 3 = 2.25 −→ a−1= 2

0.25 × 3 = 0.75 −→ a−2= 0

0.75 × 3 = 2.25 −→ a−3= 2

0.25 × 3 = 0.75 −→ a−4= 0

e portanto resulta numa d´ızima, e o n´umero 0.75 n˜ao tem uma repre-senta¸c˜ao exata na base 3 (se for utilizado um n´umero finito de d´ıgitos):

0.7510= 0.2020202020...3= 2 × 3−1+ 2 × 3−3+ 2 × 3−5+ · · ·

Se usarmos apenas trˆes d´ıgitos ap´os o ponto decimal, fica-se com a aproxima¸c˜ao:

0.2023= 2 × 3−1+ 2 × 3−3= 0.740740740...

ou seja, h´a um erro na representa¸c˜ao.

Convers˜

ao de base

• Parte inteira: resto das divis˜oes sucessivas (divis˜ao inteira)

• Parte fracion´aria: multiplica¸c˜oes sucessivas (parte inteira da multi-plica¸c˜ao e mant´em a parte fracion´aria)

• Para converter de uma base b1 para uma base b2 deve-se, de forma

geral, converter para a base 10 e depois para a outra base

• H´a rela¸c˜ao direta entre algumas bases, por exemplo, da base 2 para a base 8 ou base 2 para base 16

Bases importantes

• Base 2 - Bin´aria • Base 8 - Octal

– d´ıgitos: 0 a 7 • Base 16 - Hexadecimal

(5)

Base Hexadecimal

• H´a 16 d´ıgitos poss´ıveis: de 0 a “15”;

• De 0 a 9 os d´ıgitos hexa s˜ao os pr´oprios n´umeros ar´abicos; • De 10 a 15, utilizam-se as letras de A a F;

• Dois d´ıgitos hexadecimais formam um Byte (oito bits);

• ´E uma forma mais compacta de representar uma sequˆencia de bits.

decimal hexadecimal bin´ario

0 0 0000 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 9 9 10 A 11 B 12 C 13 D 14 E 15 F 16 17 18 128 129 130 200 222 255 256

Exerc´ıcios

Fa¸ca as seguintes convers˜oes entre bases: 1. 101101.011 da base 2 para a base 10; 2. 30.3 da base 10 para base 2;

3. 23.1 da base 4 para a base 3; 4. AF.8 da base 16 para a base 10; 5. AF.8 da base 16 para a base 2.

(6)

odigos

• As bases seguem uma lei de forma¸c˜ao dos n´umeros. Se um n´umero est´a escrito em determinada base, saberemos seu valor.

• Pode-se utilizar tamb´em c´odigos, que n˜ao necessariamente precisam seguir uma l´ogica para representar os n´umeros.

• Alguns c´odigos de interesse: – BCD - Binary-coded decimal

D´ıgitos da base 10 (0 a 9) codificados em 4 bits;

– Gray - muda apenas um bit entre representa¸c˜oes adjacentes; – ASCII - c´odigo que representa letras, n´umeros e comandos/controle; – C´odigos detectores/corretores de erros - adicionam bits `a informa¸c˜ao original para aumentar a confiabilidade na transmiss˜ao da in-forma¸c˜ao.

odigo BCD

• BCD - Binary-Coded Decimal (Decimal Codificado em Bin´ario); • Codifica os d´ıgitos decimais (0 a 9) em bin´ario;

• S˜ao necess´arios 4 bits para representar os d´ıgitos de 0 a 9:

decimal BCD 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001

• Portanto, das 16 possibilidades de representa¸c˜ao com 4 bits, apenas 10 s˜ao usadas. H´a uma menor eficiˆencia no uso de mem´oria (bits). • ´E ´util para mostrar valores num´ericos em displays, por exemplo.

(7)

odigo BCD

• Para n´umeros maiores que 9 (compare a quantidade de bits em cada caso):

decimal BCD bin´ario 10 0001 0000 1010 11 12 13 14 15 16 17 18 128 0001 0010 1000 129 130 200 222 255 256 1 0000 0000

odigo de Gray

• ´E um c´odigo no qual h´a mudan¸ca de apenas um bit entre um n´umero e o n´umero adjacente;

• Para trˆes bits:

decimal bin´ario Gray

0 000 000 1 001 001 2 010 011 3 011 010 4 100 110 5 101 111 6 110 101 7 111 100

• Na pr´atica ´e dif´ıcil fazer com que os bits mudem exatamente no mesmo instante;

• Mudar apenas um bit de cada vez pode levar a menor taxa de erros; • Algumas aplica¸c˜oes:

– Codifica¸c˜ao em comunica¸c˜oes digitais para reduzir taxa de erro; – Codifica¸c˜ao de posi¸c˜ao (encoder )

(8)

ogigo de Gray

• Encoder de posi¸c˜ao;

• Exemplo para 8 posi¸c˜oes (na pr´atica s˜ao mais, para aumentar a res-olu¸c˜ao);

000 001

100

• Na mudan¸ca da posi¸c˜ao 3 para a 4, se fosse usada a representa¸c˜ao bin´aria (base 2), dever-se-ia mudar de 011 para 100, ou seja, trˆes bits deveriam mudar simultaneamente;

• Isso ´e bem dif´ıcil de ocorrer na pr´atica, e poderia ocorrer 011 101 -100, ocasionando erros na identifica¸c˜ao da posi¸c˜ao do motor.

odigo ASCII

• ASCII - American Standard Code for Information Interchange; • C´odigo que representa caracteres (letras, n´umeros) e comandos (enter,

espa¸co, fim de linha, etc.);

• Utiliza 7 bits para representar 256 caracteres e comandos;

ASCII CONTROL CODE CHART

b7 b6 b5 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 BITS b4 b3 b2 b1 CONTROL SYMBOLS

NUMBERS UPPER CASE LOWER CASE

0 0 0 0 0 NUL 0 0 16 DLE 10 20 32 SP 20 40 48 0 30 60 64 @ 40 100 80 P 50 120 96 ‘ 60 140 112 p 70 160 0 0 0 1 1 SOH 1 1 17 DC1 11 21 33 ! 21 41 49 1 31 61 65 A 41 101 81 Q 51 121 97 a 61 141 113 q 71 161 0 0 1 0 2 STX 2 2 18 DC2 12 22 34 ” 22 42 50 2 32 62 66 B 42 102 82 R 52 122 98 b 62 142 114 r 72 162 0 0 1 1 3 ETX 3 3 19 DC3 13 23 35 # 23 43 51 3 33 63 67 C 43 103 83 S 53 123 99 c 63 143 115 s 73 163 0 1 0 0 4 EOT 4 4 20 DC4 14 24 36 $ 24 44 52 4 34 64 68 D 44 104 84 T 54 124 100 d 64 144 116 t 74 164 0 1 0 1 5 ENQ 5 5 21 NAK 15 25 37 % 25 45 53 5 35 65 69 E 45 105 85 U 55 125 101 e 65 145 117 u 75 165 0 1 1 0 6 ACK 6 6 22 SYN 16 26 38 & 26 46 54 6 36 66 70 F 46 106 86 V 56 126 102 f 66 146 118 v 76 166 0 1 1 1 7 BEL 7 7 23 ETB 17 27 39 ’ 27 47 55 7 37 67 71 G 47 107 87 W 57 127 103 g 67 147 119 w 77 167 1 0 0 0 8 BS 8 10 24 CAN 18 30 40 ( 28 50 56 8 38 70 72 H 48 110 88 X 58 130 104 h 68 150 120 x 78 170 1 0 0 1 9 HT 9 11 25 EM 19 31 41 ) 29 51 57 9 39 71 73 I 49 111 89 Y 59 131 105 i 69 151 121 y 79 171 1 0 1 0 10 LF A 12 26 SUB 1A 32 42 * 2A 52 58 : 3A 72 74 J 4A 112 90 Z 5A 132 106 j 6A 152 122 z 7A 172 1 0 1 1 11 VT B 13 27 ESC 1B 33 43 + 2B 53 59 ; 3B 73 75 K 4B 113 91 [ 5B 133 107 k 6B 153 123 { 7B 173 1 1 0 0 12 FF C 14 28 FS 1C 34 44 , 2C 54 60 < 3C 74 76 L 4C 114 92 \ 5C 134 108 l 6C 154 124 | 7C 174 1 1 0 1 13 CR D 15 29 GS 1D 35 45  2D 55 61 = 3D 75 77 M 4D 115 93 ] 5D 135 109 m 6D 155 125 } 7D 175 1 1 1 0 14 SO E 16 30 RS 1E 36 46 . 2E 56 62 > 3E 76 78 N 4E 116 94 ˆ 5E 136 110 n 6E 156 126 ˜ 7E 176 1 1 1 1 15 SI F 17 31 US 1F 37 47 / 2F 57 63 ? 3F 77 79 O 4F 117 95 5F 137 111 o 6F 157 127 DEL 7F 177 LEGEND: d ec CHAR h ex oct V ictor E ijkhout Dept. of C omp. Sci. U niversity of T ennessee K noxville T N 37996, U SA

(9)

odigo ASCII

• Por exemplo, para codificar a palavra: “Unesp” • Em hexadecimal: 55 6E 65 73 70

• Em bin´ario: 1010101 1101110 1100101 1110011 1110000

odigos Detectores e Corretores de Erros

• Transmiss˜ao de dados digitais - suscet´ıveis a ru´ıdo;

• Existe a op¸c˜ao de adicionar bits `a mensagem original para detectar e/ou corrigir erros

(10)

Bit de Paridade

• No caso mais simples: um bit adicionado a cada certo n´umero de bits; • Paridade par: o bit adicionado ´e 0 ou 1, de forma que o n´umero total

de 1’s seja par (contando com o pr´oprio bit de paridade);

• Paridade ´ımpar: idem ao caso anterior, mas o n´umero total de 1’s ´e ´ımpar.

• Suponha que se deseje transmitir a palavra “Unesp”. os bits originais seriam:

1010101 1101110 1100101 1110011 1110000

• Poderiam ocorrer erros em determinados bits, e, por exemplo, o sinal recebido seria:

1000101 1101100 0100101 1111011 1110000 • Nesse caso, o dado decodificado seria: “Ej%{p”

• Considerando agora um bit de paridade par (a cada 7 bit, no bit mais significativo), o c´odigo enviado seria:

01010101 11101110 01100101 11110011 11110000

• Se ocorressem erros nos mesmos bits, estes seriam detectados. No primeiro caractere, se a sequˆencia de bits recebida fosse:

01000101

• O erro seria detectado pois agora h´a um n´umero ´ımpar de 1’s, e, neste caso, pode-se descartar o dado e pedir que seja retransmitido. • Para um bit de paridade, n˜ao se detecta um n´umero par de erros.

Referências

Documentos relacionados

O score de Framingham que estima o risco absoluto de um indivíduo desenvolver em dez anos DAC primária, clinicamente manifesta, utiliza variáveis clínicas e laboratoriais

São por demais conhecidas as dificuldades de se incorporar a Amazônia à dinâmica de desenvolvimento nacional, ora por culpa do modelo estabelecido, ora pela falta de tecnologia ou

Neste tipo de situações, os valores da propriedade cuisine da classe Restaurant deixam de ser apenas “valores” sem semântica a apresentar (possivelmente) numa caixa

nesta nossa modesta obra O sonho e os sonhos analisa- mos o sono e sua importância para o corpo e sobretudo para a alma que, nas horas de repouso da matéria, liberta-se parcialmente

Este trabalho buscou, através de pesquisa de campo, estudar o efeito de diferentes alternativas de adubações de cobertura, quanto ao tipo de adubo e época de

3.3 o Município tem caminhão da coleta seletiva, sendo orientado a providenciar a contratação direta da associação para o recolhimento dos resíduos recicláveis,

Neste estudo foram estipulados os seguintes objec- tivos: (a) identifi car as dimensões do desenvolvimento vocacional (convicção vocacional, cooperação vocacio- nal,

Atualmente os currículos em ensino de ciências sinalizam que os conteúdos difundidos em sala de aula devem proporcionar ao educando o desenvolvimento de competências e habilidades