Representação de dados

2
REPRESENTAÇÃO DE DADOS REPRESENTAÇÃO DE NÚMEROS DECIMAIS CODIFICADOS EM BINÁRIO A representação de números reais em ponto flutuante é perfeitamente adequada para fazer cálculos matemáticos, científicos, etc. No entanto, nessa representação podemos ter perda de precisão do número representado ou mesmo haverá números que não podem ser representados por overflow (excedem o número de bits do expoente). Quando estamos representando números em que é necessário manter precisão até o último algarismo, tal como nos cálculos usados em procedimentos financeiros (o seu saldo no banco, por exemplo) não é admissível erro por aproximação. Para resolver essa restrição, foi desenvolvida uma outra representação: BCD ou Binary Coded Decimal (ou seja, Decimal Representado em Binário). A idéia do BCD é representar, em binário, cada algarismo de per si, de forma a que o número original seja integralmente preservado. A codificação BCD não possui extensão fixa, possibilitando representar números com precisão variável - quanto maior o número de bits, maior será a precisão. O microprocessador Intel 8080 suporta instruções de aritmética em BCD (p.ex.: instrução DAA). TABELA DE REPRESENTAÇÃO DOS NÚMEROS DECIMAIS EM BCD DECIMAL BCD DECIMAL BCD 0 0000 8 1000 1 0001 9 1001 2 0010 inválido 1010 3 0011 inválido 1011 4 0100 inválido 1100 5 0101 inválido 1101 6 0110 inválido 1110 7 0111 inválido 1111 Assim, o número 148 seria representado em BCD como: 1 = 00012 4 = 01002 e 8 = 10002, logo: 148 = 000101001000 (BCD). Exemplo 1: representação do número 14958 em BCD: 1 4 9 5 8 número decimal xxxx0001 xxxx0100 xxxx1001 xxxx0101 xxxx1000 representação

Transcript of Representação de dados

Page 1: Representação de dados

REPRESENTACcedilAtildeO DE DADOS

REPRESENTACcedilAtildeO DE NUacuteMEROS DECIMAIS CODIFICADOS EM BINAacuteRIO

A representaccedilatildeo de nuacutemeros reais em ponto flutuante eacute perfeitamente adequada para fazer

caacutelculos matemaacuteticos cientiacuteficos etc No entanto nessa representaccedilatildeo podemos ter perda

de precisatildeo do nuacutemero representado ou mesmo haveraacute nuacutemeros que natildeo podem ser

representados por overflow (excedem o nuacutemero de bits do expoente) Quando estamos

representando nuacutemeros em que eacute necessaacuterio manter precisatildeo ateacute o uacuteltimo algarismo tal

como nos caacutelculos usados em procedimentos financeiros (o seu saldo no banco por

exemplo) natildeo eacute admissiacutevel erro por aproximaccedilatildeo

Para resolver essa restriccedilatildeo foi desenvolvida uma outra representaccedilatildeo BCD ou Binary

Coded Decimal (ou seja Decimal Representado em Binaacuterio) A ideacuteia do BCD eacute

representar em binaacuterio cada algarismo de per si de forma a que o nuacutemero original seja

integralmente preservado A codificaccedilatildeo BCD natildeo possui extensatildeo fixa possibilitando

representar nuacutemeros com precisatildeo variaacutevel - quanto maior o nuacutemero de bits maior seraacute a

precisatildeo O microprocessador Intel 8080 suporta instruccedilotildees de aritmeacutetica em BCD (pex

instruccedilatildeo DAA)

TABELA DE REPRESENTACcedilAtildeO DOS NUacuteMEROS DECIMAIS EM BCD

DECIMAL BCD DECIMAL BCD

0 0000 8 1000

1 0001 9 1001

2 0010 invaacutelido 1010

3 0011 invaacutelido 1011

4 0100 invaacutelido 1100

5 0101 invaacutelido 1101

6 0110 invaacutelido 1110

7 0111 invaacutelido 1111

Assim o nuacutemero 148 seria representado em BCD como

1 = 00012

4 = 01002 e

8 = 10002 logo

148 = 000101001000 (BCD)

Exemplo 1 representaccedilatildeo do nuacutemero 14958 em BCD

1 4 9 5 8 nuacutemero

decimal

xxxx0001 xxxx0100 xxxx1001 xxxx0101 xxxx1000 representaccedilatildeo

BCD

a+4 a+3 a+2 a+1 a endereccedilo

A codificaccedilatildeo de um diacutegito em BCD requer 4 bits Como a utilizaccedilatildeo de apenas 4 bits por

byte natildeo eacute eficiente normalmente satildeo armazenados 2 diacutegitos BCD em um soacute byte Esta

representaccedilatildeo eacute chamada BCD comprimido (packed BCD) Podemos constatar que

ainda assim haacute um desperdiacutecio de coacutedigos como BCD usa 4 bits (logo haveria 16

representaccedilotildees possiacuteveis) para representar 10 algarismos 6 coacutedigos natildeo satildeo utilizados

Portanto essa representaccedilatildeo eacute menos eficiente em relaccedilatildeo agrave utilizaccedilatildeo dos recursos do

computador que a representaccedilatildeo em ponto flutuante

Exemplo 2 representaccedilatildeo do nuacutemero 14958 em BCD comprimido

1 49 58 nuacutemero decimal

xxxx1001 01001001 01011000 representaccedilatildeo BCD

comprimido

a+2 a+1 a endereccedilo

Os algoritmos da aritmeacutetica em BCD satildeo os mesmos que os correspondentes agrave aritmeacutetica

em decimal agrave qual sempre estivemos acostumados Por exemplo na soma em BCD

soma-se os algarismos individualmente em decimal quando a soma ultrapassa dez vai

um para o diacutegito de maior ordem (a proacutexima casa) e assim por diante

Exemplo

DECI MAL B CD

2 5 0010 0101

+3 8 +0011 1000

5 13 0101 1101

+1 10- +0001 1010-

6 3 0110 0011

[P15] [Iacutendice] [Home-page] [Iniacutecio da Paacutegina] [Seccedilatildeo Anterior] [Proacutexima Seccedilatildeo]

[Sistemas de Numeraccedilatildeo] [Representaccedilatildeo de Dados] [Componentes do Computador]

[Representaccedilatildeo de Instruccedilotildees] [Circuitos Loacutegicos] [Entrada e Saiacuteda] [Toacutepicos Avanccedilados

de Arquitetura] [Sistemas de Arquivos] [Glossaacuterio]

Page 2: Representação de dados

BCD

a+4 a+3 a+2 a+1 a endereccedilo

A codificaccedilatildeo de um diacutegito em BCD requer 4 bits Como a utilizaccedilatildeo de apenas 4 bits por

byte natildeo eacute eficiente normalmente satildeo armazenados 2 diacutegitos BCD em um soacute byte Esta

representaccedilatildeo eacute chamada BCD comprimido (packed BCD) Podemos constatar que

ainda assim haacute um desperdiacutecio de coacutedigos como BCD usa 4 bits (logo haveria 16

representaccedilotildees possiacuteveis) para representar 10 algarismos 6 coacutedigos natildeo satildeo utilizados

Portanto essa representaccedilatildeo eacute menos eficiente em relaccedilatildeo agrave utilizaccedilatildeo dos recursos do

computador que a representaccedilatildeo em ponto flutuante

Exemplo 2 representaccedilatildeo do nuacutemero 14958 em BCD comprimido

1 49 58 nuacutemero decimal

xxxx1001 01001001 01011000 representaccedilatildeo BCD

comprimido

a+2 a+1 a endereccedilo

Os algoritmos da aritmeacutetica em BCD satildeo os mesmos que os correspondentes agrave aritmeacutetica

em decimal agrave qual sempre estivemos acostumados Por exemplo na soma em BCD

soma-se os algarismos individualmente em decimal quando a soma ultrapassa dez vai

um para o diacutegito de maior ordem (a proacutexima casa) e assim por diante

Exemplo

DECI MAL B CD

2 5 0010 0101

+3 8 +0011 1000

5 13 0101 1101

+1 10- +0001 1010-

6 3 0110 0011

[P15] [Iacutendice] [Home-page] [Iniacutecio da Paacutegina] [Seccedilatildeo Anterior] [Proacutexima Seccedilatildeo]

[Sistemas de Numeraccedilatildeo] [Representaccedilatildeo de Dados] [Componentes do Computador]

[Representaccedilatildeo de Instruccedilotildees] [Circuitos Loacutegicos] [Entrada e Saiacuteda] [Toacutepicos Avanccedilados

de Arquitetura] [Sistemas de Arquivos] [Glossaacuterio]