códigos especiais - udesc · • sistema celular • rede de computadores • o tráfego de...

Post on 16-Dec-2018

221 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

CódigosEspeciaisTiagoDezuoDEE-EngenhariaElétrica|CCT

ALB0001–ÁlgebradeBoole|JOINVILLE

•  Representaçãodenúmerosemdiversasbases•  Conversãodebases•  OperaçõesaritméMcasbásicas

•  Adição•  Subtração•  MulMplicação•  Divisão

•  Códigosespeciais

Introdução

2

contextualização

•  NúmerosReais•  PontoFlutuante

•  Armazenamentoemfloats•  BCD•  PontoFixo•  Gray•  Paridade

Introdução

3

sumário

•  EmalgunsMposdecálculo,afaixadevariaçãodosnúmerosenvolvidosémuitogrande;

•  Exemplo:•  1)Massadoelétron-daordemde9x10-28gramas•  2)MassadoSol-aproximadamenteiguala2x1033gramas•  Faixadevariação:>1060•  Exemploderepresentação(28dígitosàdireitadopontodecimale34

dígitosàesquerdadomesmo)

1)0000000000000000000000000000000000.0000000000000000000000000009

2)2000000000000000000000000000000000.0000000000000000000000000000

•  Comorepresentaressesnúmerosnumcomputador?

Númerosreaisrepresentação

4

•  Formausualderepresentaçãodenúmerosreais:parteinteira,vírgula(ouponto),partefracionária.

•  Estarepresentação,emboracômodaparacálculosnopapel,nãoéadequadaparaprocessamentonocomputador.

•  Exemplo:onúmero45,724podeserexpressocomo:•  45,724x100

•  45724x10-3

•  0,45724x102

Númerosreaisrepresentação

5

•  ÉnecessárioousodeumsistemaderepresentaçãodenúmerosnoqualafaixadevariaçãosejaindependentedonúmerodedígitossignificaMvos

•  Umamaneiradesepararafaixadevariaçãodosnúmerosdesuaprecisãoconsisteemrepresentá-lonanotaçãocienofica

n=fx10e

f-fraçãoousignificando(oumanMssa)e-expoente(inteiroposiMvoounegaMvo)

Númerosreaispontoflutuante

6

•  Qualquernúmero(inteirooufracionário)podeserexpressonoformatonúmeroxbaseexpoente,podendo-sevariaraposiçãodavírgulaeoexpoente

•  Denominação:representaçãoempontoflutuante(opontovariasuaposição,modificandoovalorrepresentado)

•  Arepresentaçãopodevariar(“flutuar”)aposiçãodavírgula,ajustandoapotênciadabase

•  Exemplos:•  3,14=0,314x10-1=3,14x100•  0,000001=0,1x10-5=1,0x10-6•  1941=0,1941x104=1,941x103

•  AfaixadevariaçãodosnúmerosédeterminadapelaquanMdadededígitosdoexpoenteeaprecisãoédeterminadapelaquanMdadededígitosdosignificando.

Pontoflutuanterepresentação

7

•  Usaumúnicodígitoantesdavírgula,diferentedezero*

•  Narepresentaçãocomputacionaldenúmerosempontoflutuante,arepresentaçãonormalizadaé,emgeral,melhorqueanão-normalizada.•  Formanormalizada:sóexisteumaformaderepresentarumnúmero•  Formanãonormalizada:ummesmonúmeropodeserrepresentadode

diversasmaneiras

*PadrãoIEEE754paranúmerosempontoflutuante–significandonormalizado–começacomumbit1,seguidodeumponto(vírgula)binárioepelorestodosignificando(número=±1,__...x2exp)

PontoflutuanteFormanormalizada

8

•  Nosistemabinário:•  110101=110,101x23=1,10101x25=0,0110101x27

•  Númerosarmazenadosemumcomputador–osexpoentesserãotambémgravadosnabasedois•  110,101x(10)11=1,10101x(10)101=0,0110101x(10)111

•  Representaçãonormalizada-háapenasum“1”antesdavírgula•  1,10101x(10)101

Pontoflutuanteilustração

9

•  Númerodebitsdosignificando(precisão,pouf)

•  Númerodebitsdoexpoente(e)

•  Umbit(“0”para+e“1”para-)desinal(Mpicamenteoprimeiro,daesquerda)

•  Ilustração(8bits)

•  Expoentes:8combinaçõespossíveis(quenãoseguemaritméMcanormal)

Pontoflutuantearmazenamentoemfloats

10

Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0

Sinal Expoente (+/-) Significando

Pontoflutuantearmazenamentoemfloats

000 Casoespecial001 Expoente-2

Abaixodezero010 Expoente-1011 Expoente0 Bias=polarização100 Expoente1

Acimadezero101 Expoente2110 Expoente3111 Casoespecial

•  Exercício:realizeasconversõesabaixo:6,7510=(?)2(pontoflutuante,com8bits)

111010012(pontoflutuante,com8bits)=(?)10

11

Solução:• 6,7510=110,112=1,1011x22sinal:0expoente:210+310=x10,x10=510=1012significando:1011

Número(pontoflutuante,com8bits):010110112

• 111010012(pontoflutuante,8bits)

sinal:1expoente:1102=610,x10+310=610,x10=310significando:10012=

Número:(negaMvo)1,10012x23=1100,12=-12,510

Pontoflutuantearmazenamentoemfloats

12

•  MaiornúmeroposiXvo(lembredobitescondido):01101111=>1,1111x23=1111,1=15,5decimal

•  MenornúmeroposiXvo(lembredobitescondido):00010000=1,0000x2-2=0,01ou0,25decimal

•  Combinaçõesespeciais• 000–representaçãoNÃOnormalizada• Significandopassaaser0,___...• Expoente(000)=-2• MenornúmeroposiXvopassaaser• 00000001=0,0001x2-2=2-4x2-2=2-6=0,015625decimal

Armazenamentoemfloatsobservações

13*AnormaIEEEprevêounderflowgradual(amanMssadeixadesernormalizada),permiMndoobternúmerosbemmaispróximosdezero.

•  Combinaçõesespeciaisdosexpoentesnailustração

•  000–representaçãoNÃOnormalizada•  00000000=+0decimal

•  10000000=-0decimal(iguaisemcomparações)

•  111-representaçõesdeinfinito•  01110000=+infinito•  11110000=-infinito

•  11111000=indeterminação•  Outrascombinações11111___=NotANumber(NANs)

Armazenamentoemfloatsobservações

14

•  ArepresentaçãodenúmerosreaisempontoflutuanteéperfeitamenteadequadaparafazercálculosmatemáMcos,cienoficos,etc.

•  Narepresentaçãoempontoflutuantepode-seterperdadeprecisãodonúmerorepresentadooumesmohaveránúmerosquenãopodemserrepresentadosporoverflow.

•  PararepresentaçãodenúmerosemqueénecessáriomanterprecisãoatéoúlMmoalgarismo,nãoéadmissívelerroporaproximação.

Solução:usararepresentaçãoBinaryCodedDecimalouBCD(DecimalRepresentadoemBinário).

Armazenamentoemfloatsproblemas

15

•  A ideia do BCD é representar, em binário, cada algarismo deformaqueonúmerooriginalsejaintegralmentepreservado.

•  AcodificaçãoBCDnãopossuiextensãofixa,possibilitandorepresentarnúmeroscomprecisãovariável.Quantomaioronúmerodebits,maiorseráaprecisão.

•  Exemplo:23910=(?)BCD•  2=00102•  3=00112e•  9=10012,•  logo:239=001000111001(BCD)

CodificaçãoBCDrepresentação

16

RepresentaçãocodificaçãoBCD

•  TabeladerepresentaçãodosnúmerosdecimaisemBCD

17

Decimal BCD Decimal BCD0 0000 8 10001 0001 9 10012 0010 10 Inválido3 0011 11 Inválido4 0100 12 Inválido5 0101 13 Inválido6 0110 14 Inválido7 0111 15 Inválido

•  AcodificaçãodeumdígitoemBCDrequer4bits.

•  ComoauMlizaçãodeapenas4bitsporbytenãoéeficiente,normalmentesãoarmazenados2dígitosBCDemumsóbyte.

•  EstarepresentaçãoéchamadaBCDcomprimidooucompactado("packedBCD").

•  Exemplo:1423910=(?)BCD

CodificaçãoBCDrepresentação

18

1 42 39 númerodecimal

00000001 01000010 00111001 RepresentaçãoBCDcomprimido

a+2 a+1 a endereço

•  Entreosalgarismossemcódigoválidoemdecimal(códigosrepresentaMvosdosvaloresdecimaisde10a15),écomumuMlizaralgunsdelesparaindicarosinaldonúmero.

•  HásistemasqueadotamaseguinteconvençãoparaosinaldosnúmerosrepresentadosemBCD:•  1100representaosinalposiMvo(“+”)•  1101representaosinalnegaMvo(“-”)

•  Estarepresentaçãoaindaháumdesperdíciodecódigos,poisusa4bits(16representaçõespossíveis)pararepresentar10algarismos,6(ou4)códigosnãosãouMlizados

•  Portanto,essarepresentaçãoémenoseficienteemrelaçãoàuMlizaçãodosrecursosdocomputadorquearepresentaçãoempontoflutuante

19

CodificaçãoBCDrepresentação

•  Essemétodoconsistenadeterminaçãodeumaposiçãofixaparaavírgula

•  TodososvaloresrepresentadosempontofixoparaumadeterminadaoperaçãopossuemamesmaquanMdadedealgarismosinteiros,bemcomoamesmaquanMdadedealgarismosfracionários.

•  Exemplo:1101,101 1110,001 0011,110

•  Asposiçõesmaisadotadasparaavírgulasão:•  Naextremidadeesquerdadonúmero–nessecaso,onúmero

étotalmentefracionário•  Naextremidademaisadireitadonúmero–nessecaso,o

númeroéinteiro20

Pontofixorepresentação

•  Emqualquerdessescasos,avírgulanãoestaráfisicamenterepresentadanamemória

•  Aposiçãodavirgulaédeterminadanadefiniçãodavariável,realizadapeloprogramador(oupelocompilador),eosistemamemorizaessaposição,masnãoarepresentafisicamente

•  Namaioriadaslinguagensdeprogramaçãoenossistemasdecomputaçãoemprega-searepresentaçãodenúmerosempontofixoparaindicarapenasvaloresinteiros

•  Númerosfracionáriossão,nessescasos,representadosapenasempontoflutuante.

•  ExemplosdeMposdedadosnalinguagemPascal:•  INTEGER->pontofixo•  REAL->pontoflutuante

21

Pontofixorepresentação

•  Os sistemas digitais operam em altas velocidades e reagem avariações que ocorrem nas entradas digitais. A fim de reduzir aprobabilidadedeumcircuitodigital interpretarmalumaentradaqueestámudando,desenvolveu-seoCódigoGray.

•  PrincipalcaracterísMca:mudaapenasumbitentredoisnúmerossucessivos.

CódigoGrayrepresentação

22

Decimal Binário Gray Decimal Binário Gray0 0000 0000 8 1000 11001 0001 0001 9 1001 11012 0010 0011 10 1010 11113 0011 0010 11 1011 11104 0100 0110 12 1100 10105 0101 0111 13 1101 10116 0110 0101 14 1110 10017 0111 0100 15 1111 1000

23

CódigoGraygeraçãodalista

•  Espelhamento

•  Operação“ouexclusivo”

Binário(A) Deslocado(B) AXORB

00 00 00

01 00 01

10 01 11

11 01 10

Listade2bits 00,01,11,10Reflete 10,11,01,00

Concatena 00,01,11,10 10,11,01,00coloca0aosiniciais 000,001,011,010 10,11,01,00coloca1nosfinais 000,001,011,010 110,111,101,100

•  AaplicaçãomaiscomumdocódigoGrayénoscodificadoresderotaçãodeeixo(encoders)

•  EssesdisposiXvosproduzemumvalorbinárioquerepresentaaposiçãodeumeixomecânicoemrotação.

24

CódigoGrayaplicaçãocomum

•  UMlizadonatransmissãodedadosbinários:operaçãomaiscomumemsistemasdecomunicação•  Sistemacelular•  Rededecomputadores

•  Otráfegodeinformaçãoentretransmissor/receptorestásujeitoaocorrênciadeerrosprovocadosporruído,oquelevaàinterpretaçãoerrôneadosinalrecebido

ParidadecaracterísMcas

25

•  Bitdeparidade:bitextraanexadoaoconjuntodebitsparaindicaroMpodeparidade:•  Par:númerode1'sdeveserpar(contandocomobitde

paridade)•  Ímpar:númerode1'sdeveserímpar(contandocomobitde

paridade)•  Ex.:

•  CódigoASCIIpara'C'–1000011.Tem3bits1s.Paraquetenhaparidadepar,1éacrescentado.

11000011bitdeparidade

26

ParidadecaracterísMcas

•  Usadoparadetectarerrosdeumbit,quesãomaisprováveisdeocorrer

•  DevehaverconcordânciaentreTXeRXpeloMpousado(parouímpar)

27

ParidadecaracterísMcas

•  NúmerosReais•  PontoFlutuante

•  Armazenamentoemfloats•  BCD•  PontoFixo•  Gray•  Paridade

Códigosespeciais

28

lembrando

top related