Você está na página 1de 20

25B

Captulo 2: Nmeros e Aritmtica Binria

Os computadores armazenam e manipulam a informao na forma de nmeros. Instrues de programas, dados numricos, caracteres alfanumricos, so todos representados por meio de combinaes de algarismos numricos, as quais so interpretadas, manipuladas e trasformadas em formatos reconhecveis pelo Ser Humano, a medida que o computador executa suas tarefas. Embora o sistema numrico padro seja o decimal, onde dez algarismos (0 a 9) so usados para representar todos os nmeros, os computadores adotam internamente o sistema binrio, onde apenas os algarismos 0 e 1 so usados na composio dos nmeros. O uso do sistema binrio apresenta vantagens importantes sob o ponto de vista da construo e operao dos computadores: Cada um dos algarismos binrios, 0 e 1, representado por um valor de tenso especfico nos circuitos eletrnicos dos computadores. Desta forma o armazenamento e a manipulao de informao em um computador feito apenas com dois valores de tenso eltrica. Os programas de computadores so escritos por meio de sentenas matemticas (expresses algbricas), as quais expressam a lgica das tarefas a serem executadas pela mquina, e delimitam os resultados numricos que podem ser obtidos a partir dos valores de entrada. A forma algbrica mais eficiente de representao de expresses lgicas, conhecida como lgebra booleana, baseada no sistema binrio de numerao. Deste modo, por razes tecnolgicas e conceituais, os nmeros binrios e a lgebra boole-ana formam a base de operao dos computadores atuais.

0B

Sistema Binrio de Numerao

Embora use apenas um sub-conjunto dos algarismos decimais, o sistema binrio adota as mesmas regras do sistema decimal para a representao de grandezas numricas e para as operaes aritmticas. De fato, o uso de sistemas numricos diferentes na escrita de um mesmo nmero, no altera a quantidade representada, desde que os sistemas adotem uma notao consistente, conforme descrito a seguir.

25

3B

O Conceito de Nmero

Nmeros so expresses de quantidades. Por definio, um nmero uma relao que existe entre qualquer quantidade e uma outra, tomada como termo de comparao, a que se chama unidade.
14B

Numerais

Os smbolos usados para representar os nmeros so chamados numerais. De forma geral, os sistemas numricos possuem um conjunto limitado de numerais primitivos, chamados de numerais de valor prprio, ou simplesmente de algarismos, com os quais possvel gerar os numerais para todos os nmeros. A quantidade de algarismos de um sistema chamada de base do sistema, como no sistema decimal onde a base 10 porque este possui dez algarismos: 0, 1, 2, ..., 9.
15B

Sistemas Numricos

O sistema decimal um sistema posicional, significando que o valor representado por cada algarismo de um numeral deve ser multiplicado por uma potncia da base, a qual funo da posio ocupada pelo algarismo no numeral . Seja por exemplo, o nmero 6903: 6903 = 6 x 103 + 9 x 102 + 0 x 101 + 3 x 100 6903 = 6.000 + 900 + 0 + 3 Atualmente apenas os sistemas posicionais tm uso comercial corrente, mas existem sistemas com regras de representao diferentes, como por exemplo o sistema romano de numerao.
4B

Nmeros Binrios

O sistema binrio um sistema com notao posicional que usa somente os algarismos 0 e 1. Quando um nmero escrito no sistema binrio, os dgitos individuais representam os coeficientes de potncias de 2, de modo anlogo ao feito para as potncias de 10 no sistema decimal. Seja um nmero qualquer escrito em binrio, como por exemplo 101: 101b = 1 x 22 + 0 x 21 + 1 x 20 101b = 4 + 0 + 1 = 5d Nas frmulas acima, por questo de clareza, adicionamos aos nmeros o prefixo b, para indicar a base binria e o prefixo d no caso de representao em decimal. Notamos que ambas as representaes 101 e 5 expressam a mesma quantidade, usando porm sistemas numricos diferentes, como nos exemplos adicionais da tabela a seguir, onde os dezesseis primeiros nmeros decimais so representados em binrio.

26

Tabela 1: Correspondncia entre entre os dezesseis primeiros numerais decimais e binrios.

DECIMAL BINRIO DECIMAL BINRIO 0 0 8 1000 1 2 3 4 5 6 7 1 10 11 100 101 110 111 9 10 11 12 13 14 15 1001 1010 1011 1100 1101 1110 1111

16B

Nmeros Reais e Converses de Bases

Um nmero que no inteiro pode ser expresso usando a notao de vrgula decimal. O decimal 1,8125 tem o significado numrico: 1,8125 = 1 x 100 + 8 x 10-1 + 1 x 10-2 + 2 x 10-3 + 5 x 10-4 1,8125 = 1 + 0,8 + 0,01 + 0,002 + 0,0005

Do mesmo modo, podemos expressar um nmero binrio fracionrio, usando a notao de vrgula binria: 1,1101 = 1 x 20 + 1 x 2-1 + 1 x 2-2 + 0 x 2-3 + 1 x 2-4 Assim, dgitos a direita da vrgula binria so coeficientes de 2-n, onde n a distncia do algarismo direita da vrgula binria. Em aritmtica decimal, movendo-se a vrgula decimal k casas para a esquerda ou direita, divide-se ou multiplica-se, respectivamente, o nmero por 10k. No sistema binrio, este deslocamento divide ou multiplica por 2k.

5B

Converso entre Binrio e Decimal

Tendo em vista que as representaes binria e decimal no alteram a quantidade representada, possvel converter nmeros expressos em decimal para seu equivalente com numerais binrios e vice-versa.
17B

Converso para Decimal

A converso de um nmero binrio para um nmero decimal obtida usando a aritmtica ilustrada nas frmulas anteriores. Ex.1:Converteronmerobinrio1001paraabase10: 1001b =1x23+0x22+0x21+1x20 =8+0+0+1=9d

27

Ex.2:Converter1,0110bparaabase10: 1,0110b =1x20+0x21+1x22+1x23+0x24 =1+0+0,25+0,13+0=1,38d

18B

Converso para Binrio

A converso de um nmero decimal N para binrio feita facilmente usando as seguintes regras: Caso N seja inteiro, por exemplo, N=...x8x4x2x1,000... Onde os xs so 0s e 1s e os ndices indicam a significncia numrica a ser atribuda a cada dgito binrio, de acordo com sua posio. Divide-se N por 2, mantendo o quociente na forma inteira. Como cada diviso move a vrgula binria uma casa para a esquerda, temos: N/2=...x8x4x2x1,/2=...x8x4x2+restox1 Assim, o dgito menos significativo x1 o resto, e o quociente um novo nmero N = ...x8x4x2, onde x2 passou a ser o dgito menos significativo. Uma seqncia de divises por 2 resultar na forma binria de N atravs dos restos. Ex.:Converterodecimal19paraabase2: 19 2 1 9 2 1 4 2 0 0 1 2 1 0 2 2 19d=10011b

Caso N seja menor que 1, por exemplo N = ...000,x1/2x1/4x1/8... Pode-se testar se x1/2 0 ou 1 multiplicando-se N por 2. Se x1/2 for 1, o produto 2N ser maior que 1; se x1/2 for 0, 2N ser menor que 1. A multiplicao por 2 move a vrgula binria uma casa para a direita, movendo conseqentemente, x1/4 para a posio de x1/2. A representao binria pode ser encontrada atravs de sucessivas multiplicaes por 2. Ex.: Converter o decimal 0,69 para a base 2: 0,69x2=1,38 0,38x2=0,76 0,76x2=1,52 0,52x2=1,04 0,04x2=0,08 0,08x2=0,160,69d=0,101100...b

28

Caso N seja fracionrio e maior que 1 A converso, neste caso, feita separadamente, conforme as regras dos casos anteriores, e os resultados so combinados. Ex.:Converterodecimal19,69paraabase2: Converteraparteinteira 19d = 10011b, conforme visto no item 1. Converterapartefracionria 0,69d = 0,101100b, conforme visto no item 2. Uniraspartes 19,69d = 10011,101100b

6B

Outras Bases Numricas

Pode-se definir de um nmero ilimitado de sistemas, alm dos sistemas decimal e binrio vistos. Os mais teis entretanto, para uso em computao, so os sistemas com bases octal e hexadecimal.
19B

Sistema Octal

Neste sistema so usados os algarismos decimais de 0 a 7. Todo nmero neste sistema expresso como uma soma de potncias de 8 multiplicadas por coeficientes apropriados, que so os prprios dgitos do nmero.
20B

Sistema Hexadecimal

No sistema hexadecimal a base 16, sendo usados os dez algarismos decimais 0, 1, 2, ...,9 para representar os dez primeiros algarismos hexadecimais, com os outros seis algarismos adicionais sendo representados pelas letras A, B, C, D, E e F. Todo nmero neste sistema expresso como uma soma de potncias de 16 multiplicadas por coeficientes apropriados, que so os prprios dgitos do nmero. A relao especial entre os sistemas octal e hexadecimal e o sistema binrio resulta do fato de que trs dgitos binrios podem representar exatamente oito (23) nmeros diferentes e que quatro dgitos binrios podem representar dezesseis (24) nmeros diferentes. Converses do Sistema Hexadecimal As converses deste sistema segue as mesmas regras do sistema octal, lembrando que: cada dgito hexadecimal corresponde a quatro dgitos binrios e cada dgito octal corresponde a trs dgitos binrios.

29

Ex.: Correspondncia das bases 2, 8 e 16:


U

2 3 7 4 , 6 4 5 2 ---- ------ ------ ------ ------ ----- ------ -----10011111100,110100101010 ------ -------- -------- -------- --------- -------4 F C , D 2 A

=> octal => binrio => hexadecimal

De Hexadecimal para decimal Ex.: Converter 7AB016 para a base 10. Lembrar que A=10, B=11, C=12, D=13, E=14 e F=15.
U

7AB016 = 7 x 163 + 10 x 162 + 11 x 161 + 0 x 160 = 28.672 + 2.560 + 176 + 0 = 31.40810 De Decimal para hexadecimal Ex.: Converter 198910 para a base 16:
U

1989 | 16 -----5 124 | 16 -----12 7 => ou seja, 198910 = 7C516 De Hexadecimal para octal Neste caso, passa-se primeiro para a base binria e a seguir para a base octal. Ex.: Converter 1F16 para a base 8:
U

1 F ----- -----0001 1111 = 00 011 111 --- ----- ---0 3 7

==> 1F16 = 378

De Octal para Hexadecimal Ex.: Converter 558 para a base hexadecimal:


U

5 5 ---- ---101 101 = 10 1101 --- -----2 D => 558 = 2D16

30

Atabelaaseguirmostraasformasdeseescreveramesmaquantidade,nossistemas decimal,hexadecimal,octalebinrio,paravaloresentre0e15(decimal)
decimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Hexadecimal 0 1 2 3 4 5 6 7 8 9 A B C D E F Octal 0 1 2 3 4 5 6 7 10 11 12 13 14 15 16 17 Binrio 0 1 10 11 100 101 110 111 1000 1001 1010 1011 1100 1101 1110 1111

31

1B

Tipos de Informao
U U U U

A informao representada num computador atravs de seqncias binrias. Cada dgito binrio chamado de bit ( bi nary digi t ), o componente bsico da representao de informao, sendo Os conjuntos de 4 e 8 bits chamados respectivamente de nibble e byte. A informao, para ser armazenada e utilizada em um computador, deve existir na forma de uma entidade, a qual pode ser composta por um nmero arbitrrio de bits, ocupando uma ou mais palavras na memria do computador. Os tipos bsicos de entidades so mostrados no diagrama a seguir. /Ponto fixo / / Informao Numricos \ \ / \ \ \ / \ \ \ Dados \ \ \ \ Endereos \ Ponto Flutuante \ No-numricos (caracteres e outros) Existe uma diviso fundamental em instrues (informao de controle) e dados. As instrues so conjuntos de bits definidos pelo fabricante do processador usado no computador, no seguindo nenhum padro especfico. Os dados, ao contrrio, seguem padres de representao definidos, como visto a seguir, pois devem ser intercambiados entre computadores de fabricantes diferentes.
7B

Instrues

Dados Numricos

Os padres Para representao de nmeros em computadores, foram definidos com base nos seguintes fatores: Os tipos dos nmeros a serem representados, isto , inteiros, reais, complexos, etc. A faixa de valores possveis. Quanto maior a faixa, mais bits so necessrios para representar o nmero. A preciso do nmero, ou seja quantas casas a direita da vrgula sero usadas na representao de valores que no sejam inteiros. custo do hardware necessrio para armazenar e processar os nmeros. Os formatos resultantes mais comuns so as representaes em ponto fixo e ponto flutuante descritas a seguir.

32

21B

Nmeros em Ponto Fixo

Este formato derivado diretamente da representao decimal de um nmero como uma seqncia de dgitos separados por uma vrgula decimal (chamada de ponto devido a notao americana para os nmeros). Os dgitos a esquerda da vrgula decimal representam um inteiro; os dgitos a direita representam uma frao. Isto a notao posicional, vista anteriormente, onde cada dgito tem um peso fixo de acordo com sua posio relativa vrgula decimal: O nmero decimal 192,73 equivalente a: 1 x 102 + 9 x 101 + 2 x 100 + 7 x 10-1 + 3 x 10-2 Se o nmero for binrio temos um formato anlogo, como no exemplo a seguir: 1,1101 = 1 x 20 + 1 x 2-1 + 1 x 2-2 + 0 x 2-3 + 1 x 2-4 Os computadores guardam na memria apenas sequncias de bits, no representando vrgulas ou sinais. Desta forma, o nmero 1,1101 deve ser dividido em duas partes, inteira e fracionria, para ser armazenado, como na figura a seguir, onde ambas as partes so guardadas na memria com 8 bits de preciso. 1,1101 representado como: 00000001 11010000 (parte inteira) (parte fracionria)

Cabe a instruo de programa que faa uso do nmero armazenado na memria, reconstitu-lo internamente ao processador quando do seu uso. Se quisermos representar um nmero com sinal, um bit (o mais significativo) acrescentado esquerda do nmero para indicar o sinal, segundo a conveno: Bit mais a esquerda = 1. Nmero negativo Bit mais a esquerda = 0. Nmero positivo Deste modo, um nmero com n bits, composto por um sinal (bit mais a esquerda) e por uma mantissa, onde esto as partes inteiras e fracionria. Normalmente, ao ser armazenado em memria, o sinal colocado junto a parte inteira do nmero. xn-1xn-2...x2x1x0 | \__________/ sinal magnitude (partes inteira e fracionria)

33

Nmeros inteiros so um caso particular dos nmeros em ponto fixo, onde no h parte fracionria, no havendo necessidade da vrgula decimal que no entanto estaria implcita. Com um nmero inteiro que tenha magnitude de n bits pode-se representar todos os inteiros N na faixa 0 <= |N| <= 2n - 1 O formato da frao permite nmeros com magnitude na faixa 0<=|N|<=12n. Em geral, o ponto fixo permite uma faixa limitada de valores e tem necessidade de hardware relativamente simples.
22B

Nmeros em Ponto flutuante

A faixa de nmeros que podem ser representados por um cdigo numrico ponto fixo insuficiente para muitas aplicaes, particularmente clculos cientficos onde nmeros muito grandes e muito pequenos so freqentemente encontrados. A notao cientfica permite que tais nmeros sejam representados usando, relativamente, poucos dgitos: 1,0 x 1018 = 1.000.000.000.000.000.000
pto. flutuante

Um nmero ponto flutuante tem a forma M x BE onde M = mantissa B = base E = expoente Em 1,0 x 1018 => M = 1,0 B = 10 E = 18

ponto fixo

Para implementao no computador, a mantissa e o expoente so codificados como nmeros ponto fixo na base numrica r, onde r usualmente 2 ou 10. A base B alguma potncia de r. Desde que a base uma constante, ela no precisa estar includa em um cdigo numrico. Um nmero em ponto flutuante portanto armazenado na memria do computador como um par de nmeros ponto fixo - uma mantissa M, que usualmente uma frao ou um inteiro; e um expoente E, que um inteiro. A preciso de M x BE determinada pelo nmero de bits usados para representar M. A faixa de valores possveis determinada por B e E. Formatos ponto flutuante so usados para representar nmeros reais sobre um intervalo contnuo +/- R. Desde que apenas um conjunto finito de nmeros pode ser representado (no mximo 2n, onde n o tamanho da palavra ponto flutuante), estes nmeros so distribudos sobre um intervalo +/-R. Aumentando E, aumenta-se enormemente a faixa dos nmeros que podem ser representados mas resulta numa distribuio mais esparsa dos nmeros dentro dessa faixa

34

Normalizao : A representao de nmeros ponto flutuante inerentemente redundante no sentido que o mesmo nmero pode ser representado em mais de uma forma. Por exemplo, 1,0 x 1018, 0,1 x 1019, 1000000 x 1012, e 0,000001 x 1024 so equivalentes. Geralmente desejvel especificar uma forma nica (normal) para a representao de nmeros ponto flutuante num computador. S a parte fracionria da mantissa representada internamente no computador. A inteno da normalizao garantir o mximo de bits possveis da mantissa para representar o nmero, procurando no deixar, na medida do possvel, zeros a direita da vrgula binria. A normalizao restringe a magnitude |M| de uma mantissa fracionria faixa (para nmeros com B = 2): 0,5 <= |M| < 1 ou M = 0

Vejamos, por exemplo, a regra de Normalizao do Padro IEEE 754:

Para a representao interna de um nmero ponto flutuante, pode-se no ter a representao exata do nmero. Na maioria das vezes tem-se uma aproximao. Esta aproximao tanto mais real quanto maior for o nmero de bits reservados para a representao da mantissa fracionria (preciso).
35

Qual seria a preciso e a faixa de valores possveis para um nmero ponto flutuante representado no formato dos exemplos acima? Como se representaria o nmero zero neste formato? As respostas para essas perguntas so as seguintes: a preciso do nmero dada pela mantissa. Pois bem, se para a mantissa so reservados 24 bits, ento a preciso da nmero seria de 224 = 16.777.216. A faixa de valores possveis dada pela Base e pelo expoente. Tem-se 7 bits para o expoente com sinal, logo, tirando o bit de sinal, sobra 6 bits para o expoente, que pode estar na faixa de -26 at +26-1 = -64 at +63. Logo, a faixa de valores possveis, que inclui a Base fica de 2-64 at 2+63. A representao do zero tem alguns problemas. A mantissa, claro, deve ser zero, mas o expoente pode ter qualquer outro valor pois 0 x BE = 0 para todos os valores de E. Freqentemente, o que acontece devido aos erros de arredondamento, quando se quer computar o zero, a mantissa muito pequena, mas no exatamente zero. Para o nmero inteiro ser prximo de zero, seu expoente deve ser um nmero negativo grande. Se k bits so reservados para o expoente, incluindo seu sinal (no caso 7), ento todos os nmeros entre 2k-1 e +2k-1 -1 podem ser representados (no caso entre -64 e +63). O expoente -2k-1 seria usado no formato normal para o zero. Uma segunda complicao vem do fato de que desejvel que o zero seja representado por uma seqncia de bits 0 apenas, a princpio para facilitar a implementao de instrues que testam o zero. Ao expoente, consistindo de uma seqncia de zeros, deve ento ser atribudo o valor -2k-1. Isto sugere que os expoentes sejam codificados em um cdigo excesso-2k-1 similar ao cdigo excesso-3 (ver prximo sub-item), onde o campo do expoente contm o expoente real mais 2k-1. A quantidade 2k-1 chamada de polarizador, e um expoente codificado desta maneira chamado de expoente polarizado ou caracterstica. A figura abaixo mostra todos os valores de um expoente de 4 bits com polarizao 8 (cdigo excesso8): Expoente 1111 1110 1101 1100 1011 1010 1001 1000 0111 0110 0101 0100 0011 0010 0001 0000 Nmero representado +7 +6 +5 +4 +3 +2 +1 0 -1 -2 -3 -4 -5 -6 -7 -8
36

Complementos
A desvantagem do desperdcio de um bit, apenas para armazenamento de sinal, foi resolvida adotando-se as chamadas notaes de complemento onde o dgito mais significativo usado ao mesmo tempo para representao do sinal (segundo a conveno de sinal e magnitude), e de parte do nmero. A conveno adotada que nmeros positivos tm sua representao em complemento idntica a representao normal (devem ser sempre no entanto iniciados com zero); no caso da representao negativa que existiro diferenas, mas sempre um nmero negativo dever comear com 1.
23B

Complemento de 1

Seja, por exemplo, um nmero inteiro positivo N com b bits, onde o bit mais significativo deve ser zero. O seu equivalente negativo representado em complemento de 1 calculado subtraindo-se cada dgito de N de 1: 510 = 01012 => complemento de 1 => 11112 01012 -----10102 = -510

Por estar em base binria, o complemento de 1 tambm pode ser obtido de forma mais simples do que pela definio, simplesmente complementando-se (invertendo-se) os bits do nmero, substituindo-se zeros por uns e vice-versa. O complemento de 1 no resolve o problema da dupla representao do zero, representado por 0000 e 1111, mas permite operaes aritmticas mais simples do que com nmeros representados em sinal e magnitude. - 410 + 110 ------ 310 1 0 1 12 0 0 0 12 + ---------1 1 0 02 = - 310, correto!

A resposta obtida o nmero negativo -3, representado em complemento de 1. Entretanto quando dois nmeros negativos so somados, o bit de carry deve ser adicionado ao resultado para obteno do valor correto, como no exemplo a seguir: - 210 - 410 ------ 610 1 1 0 12 1 0 1 12 ----------1 1 0 0 02 ( = - 710 = errado!!) somando-se o carry ao resultado tem-se: 1 0 0 02 0 0 0 12 + (bit de carry) ---------1 0 0 12 ( = -610 = correto.)
37

24B

Complemento de 2

A soluo para os problemas do dupla representao do zero e de aritmtica com nmeros negativos surgiu com a definio do complemento de 2, obtido atravs dos passos: Calcule o complemento de 1 do nmero Some 1 ao valor calculado para obter o complemento de 2. O uso do complemento de 2 elimina a necessidade de subtraes nos computadores, simplificando o hardware. A subtrao feita somando-se ao minuendo o complemento de 2 do subtraendo. O bit de carry final do resultado deve ser desprezado. 7110 3510 ----3610 0 1 0 0 0 1 1 12 1 1 0 1 1 1 0 12 + -------------------1 0 0 1 0 0 1 0 02 = 3610

Quando o resultado for negativo, o que se obtm o seu complemento de 2. 3510 7110 ----- 3610 0 0 1 0 0 0 1 12 1 0 1 1 1 0 0 12 + -------------------1 1 1 0 1 1 1 0 02 = DC16 (complemento de 2 de - 3610)

38

8B

Caracteres

A necessidade de armazenamento e transmisso de informaes textuais entre computadores levou a definio de cdigos em que combinaes de bits representam letras, algarismos numricos usados em texto, pontuao, etc, e onde cada valor de cdigo corresponde a um caractere. Os primeiros cdigos de caracteres usavam combinaes de 6 bits, pois 6 era o valor mnimo de bits para criar combinaes de nmeros em quantidade suficiente para representar as 26 letras do alfabeto ingls, e os 10 dgitos decimais (com 6 bits temos 26 = 64 combinaes diferentes, cada caracter sendo representado por um nmero de 6 bits). Os 6 bits tambm permitiam um nmero razovel (28) de caracteres especiais como ponto, vrgula e smbolos matemticos. Mais recentemente tm predominado o uso de seqncias de 7 e 8 bits para representao de caracteres, pois permitem caracteres adicionais, como alfabeto maisculo e minsculo, e mais caracteres simblicos, de acentuao, e de controle (+/,:;LFCREOT). O cdigo mais usado para representar caracteres o ASCII (American Standard Code for Information Interchange) desenvolvido para caracteres no acentuados, sumariado a seguir. Em portugus prefervel usar o cdigo ASCII estendido, que inclui caracteres acentuados. Outro cdigo padro de caracteres de 8 bits o EBCDIC (Extended Binary Coded Decimal Interchange Code) desenvolvido pela IBM.

9B

Cdigos de Caracteres Decimais

Vimos que, como ns usamos no dia a dia aritmtica decimal, os nmeros para serem entrados num computador, devem ser primeiro convertidos da representao decimal para a binria. Similarmente, a converso binria-decimal faz parte do processo de sada de um computador. O armazenamento de nmeros decimais no formato de texto ( 1 dgito decimal em cada byte ), usando por exemplo a tabela ASCII, tambm requer a converso decimal-binria .
U U U U

Muitos cdigos numricos so usados para permitir uma converso rpida de nmeros binrios para nmeros decimais. So os cdigos decimais:

39

Dgito Decimal 0 1 2 3 4 5 6 7 8 9

BCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001

EBCDIC 11110000 11110001 11110010 11110011 11110100 11110101 11110110 11110111 11111000 11111001

CDIGO DECIMAL ASCII Excesso-3 00110000 00110001 00110010 00110011 00110100 00110101 00110110 00110111 00111000 00111001 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100

2-entre-5 11000 00011 00101 00110 01001 01010 01100 10001 10010 10100

BCD - Binary Coded Decimal: cada dgito di representado por seu equivalente de 4 bits bi.3bi.2bi.1bi.0 na forma binria padro: 971 em BCD 1001 0111 0001 . EBCDIC - Extended BCD Interchange Code: representa os 10 dgitos decimais num campo de 4 bits da mesma forma que em BCD. Os outros 4 bits (o campo "zonado") no so usados para representao de dados numricos. ASCII - usa o mesmo princpio de EBCDIC. 25 em ASCII : 00110010 00110101 Excesso-3: formado adicionando 0011 (3) ao correspondente nmero BCD, da o nome. Este cdigo tem a vantagem de poder ser processado usando a mesma lgica usada para cdigos binrios. Algumas operaes aritmticas so difceis de implementar usando cdigo excesso-3, principalmente porque um cdigo "sem-peso" (no posicional). 2-entre-5: cada dgito decimal representado por uma seqncia de 5 bits contendo dois 1's e trs 0's. Existe exatamente 10 seqncias distintas deste tipo. O maior mrito deste cdigo ser um detetor de erro simples, pois mudando-se qualquer bit, resulta numa seqncia que no tem correspondente vlido no cdigo. Suas desvantagens que um cdigo "sem peso" e usa 5 ao invs de 4 bits por cdigo decimal. A principal vantagem dos cdigos decimais a facilidade de converso entre a representao interna do computador que permite apenas os smbolos 0 e 1 e representaes externas que usam os dez smbolos decimais 0,1,2,...,9. Os cdigos decimais tm suas desvantagens: a) Eles usam mais bits para representar um nmero do que os cdigos binrios, portanto requerem mais espao de memria; b) Os circuitos necessrios para implementar aritmtica usando operandos decimais so mais complexos do que para aritmtica binria.

40

Ex.: 95 + 15 em BCD:

1001.0101 0001.0101 -----------1010.1010 110 em BCD!

Alguns comentrios a respeito da estrutura dos cdigos ASCII e EBCDIC so teis. Note que em ambos os cdigos, os 4 bits menos significativos dos cdigos de caracteres decimais (0-9) so os cdigos BCD j vistos. Isto facilita duas operaes. Primeiro, a comparao de dois caracteres que representam dgitos decimais para determinar qual o maior, pode ser feito com o mesmo tipo de circuito lgico que usado para implementar as operaes aritmticas padres para nmeros binrios. Segundo, quando determinado pelo contexto que o cdigo de 7 ou 8 bits em alguma entrada representa um nmero decimal que est para ser armazenado e processado como uma entidade nica, ento prtico, algumas vezes, remover os 3 ou 4 bits mais significativos de cada cdigo do dgito e comprimir o nmero, que vira um dgito BCD de 4 bits. Comentrios similares valem para os caracteres alfabticos. O fato de eles estarem em seqncia numrica facilita o arranjo em ordem alfabtica. (Ver tabelas ASCII e EBCDIC).

Paridade
Paridade de um caractere um bit extra usado para deteco de erro simples (como no caso do cdigo 2-entre-5). Existem dois tipos de paridade: paridade par e paridade mpar. Quando o nmero de bits 1 do caractere par, o bit de paridade par 0 e o bit de paridade mpar 1.

41

Tabela ASCII

42

2B

Aritmtica Binria
Adio

10B

A adio binria obedece s leis convencionais adotadas para o sistema de numerao decimal, conforme a tabela 4.1, onde esto as combinaes possveis para a adio de um par de bits. A ltima coluna diz respeito ao bit que carregado (carry) ou vai-um para a casa binria seguinte. ADENDO 0 0 1 1 AUGENDO 0 1 0 1 RESULTADO 0 1 1 0 VAI-UM 0 0 0 1

Como exemplo de adio, seja a soma dos nmeros binrios equivalentes aos decimais 35 e 71: 3510 7110 + -------10610
11B

0 0 1 0 0 0 1 12 0 1 0 0 0 1 1 12 + -----------------0 1 1 0 1 0 1 02

Subtrao

Tambm obedece s leis convencionais conforme a tabela abaixo, onde esto as combinaes possveis para a subtrao de um par de bits. A ltima coluna refere-se ao bit emprestado da casa binria esquerda tambm chamado de borrow ou de vem-um : MINUENDO 0 0 1 1 SUBTRAENDO 0 1 0 1 RESULTADO 0 1 1 0 EMPRESTA-UM 0 1 0 0

Como exemplo, seja a subtrao dos mesmos nmeros usados no exemplo anterior. Note que necessria a inverso dos valores colocando-se o nmero maior em mdulo (no caso um nmero negativo) como minuendo. 7110 3510 -------3610 0 1 0 0 0 1 1 12 0 0 1 0 0 0 1 12 -----------------0 0 1 0 0 1 0 02

43

12B

Multiplicao
MULTIPLICADOR 0 1 0 1 RESULTADO 0 0 0 1

Segue as regras vistas na tabela abaixo: MUTIPLICANDO 0 0 1 1

Como exemplo de multiplicao, seja a multiplicao dos nmeros 3 e 4 : 4 ...................... 1 0 0 3 ...................... 0 1 1 x ------------100 100 12 ................. 1 1 0 0 + --------------

13B

Diviso

Segue as regras vistas na tabela abaixo. A tabela no contm os casos de diviso por zero, proibidos. DIVIDENDO 0 1 DIVISOR 1 1 QUOCIENTE 0 1

Exemplo: 1 1 0 0 1 0 / 101

110010 - 101 ____ 0010 1 10 1 ________ 0000

101 1010

44

Você também pode gostar