Você está na página 1de 10

SISTEMAS DE NUMERAO

Converses entre Bases


Vamos analisar agora as regras gerais para converter nmeros entre duas bases quaisquer. Converses entre as bases 2, 8 e 16 As converses mais simples so as que envolvem bases que so potncias entre si. Vamos exemplificar com a converso entre a base 2 e a base 8. Como 2 3 = 8, separando os bits de um nmero binrio em grupos de tres bits (comeando sempre da direita para a esquerda!) e convertendo cada grupo de tres bits para seu equivalente em octal, teremos a representao do nmero em octal. Por exemplo: 101010012 = 10.101.0012 (separando em grupos de 3, sempre comeando da direita para a esquerda) Sabemos que 0102 = 28 ; 1012 = 58 ; 0012 = 18 portanto 101010012 = 2518 Se voc ainda no sabe de cor, faa a converso utilizando a regra geral. Vamos agora exemplificar com uma converso entre as bases 2 e 16. Como 24 = 16, basta separarmos em grupos de 4 bits (comeando sempre da direita para a esquerda!) e converter. Por exemplo: 110101011012 = 110.1010.11012 (separando em grupos de 4 bits, sempre comeando da direita para a esquerda). Sabemos que 1102 = 616; 10102 = A16 ; 11012 = D16 ; portanto 110101011012 = 6AD16 Vamos agora exercitar a converso inversa. Quanto seria 3F5H (lembrar que o H est designando "hexadecimal") em octal? O mtodo mais prtico seria converter para binrio e em seguida para octal. 3F5H = 11.1111.01012 (convertendo cada dgito hexadecimal em 4 dgitos binrios) = = 1.111.110.1012 (agrupando de tres em tres bits) = = 17658 (convertendo cada grupo de tres bits para seu valor equivalente em octal). Converso de Nmeros em uma base b qualquer para a base 10 Vamos lembrar a expresso geral j apresentada: Nb = an.bn + .... + a2.b2 + a1.b1 + a0.b0 + a-1.b-1 + a-2.b-2 + .... + a-n.b-n A melhor forma de fazer a converso usando essa expresso. Tomando como exemplo o nmero 101101 2, vamos calcular seu valor representado na base dez. Usando a expresso acima, fazemos: 1011012 = 1x25 + 0x24 + 1x23 + 1x22 + 0x21 + 1x20 = 32 + 0 + 8 + 4 + 0 + 1 = 4510 Podemos fazer a converso de nmeros em qualquer base para a base 10 usando o algoritmo acima. Exemplos: a) Converter 4F5H para a base 10 . Soluo: Lembramos que o H significa que a representao hexadecimal (base 16). Sabemos ainda que F 16=1510. Ento: 4x162 + 15x161 + 5x160 = 4x256 + 15x16 + 5 = 1024 + 240 + 5 = 126910 b) Converter 34859 para a base 10. Soluo: 3x93 + 4x92 + 8x91 + 5x90 = 3x729 + 4x81 + 8x9 + 5 = 2187 + 324 + 72 + 5 = 258810. c) Converter 7G16 para a base 10. Soluo: Uma base b dispe dos algarismos entre 0 e (b-1). Assim, a base 16 dispe dos algarismos 0 a F e portanto o smbolo G no pertence representao hexadecimal. d) Converter 1001,012 para a base 10. Soluo: 1x23 + 0x22 + 0x21 + 1x20 + 0x2-1 + 1x2-2 = 8 + 0 + 0 + 1 + 0 + 0,25 = 9,2510

e) Converter 34,35 para a base 10. Soluo: 3x51 + 4x50 + 3x5-1 = 15 + 4 + 0,6 = 19,610 f) Converter 38,38 para a base 10. Soluo: Uma base b dispe dos algarismos entre 0 e (b-1). Assim, a base 8 dispe dos algarismos 0 a 7 e portanto o algarismo 8 no existe nessa base. A representao 38,3 no existe na base 8. Converso de Nmeros da Base 10 para uma Base b qualquer A converso de nmeros da base dez para uma base qualquer emprega algoritmos que sero o inverso dos acima apresentados. Os algoritmos sero melhor entendidos pelo exemplo que por uma descrio formal. Vamos a seguir apresentar os algoritmos para a parte inteira e para a parte fracionria: Parte Inteira: O nmero decimal ser dividido sucessivas vezes pela base; o resto de cada diviso ocupar sucessivamente as posies de ordem 0, 1, 2 e assim por diante at que o resto da ltima diviso (que resulta em quociente zero) ocupe a posio de mais alta ordem. Veja o exemplo da converso do nmero 19 10 para a base 2:

Experimente fazer a converso contrria (retornar para a base 10) e ver se o resultado est correto. Parte Fracionria Se o nmero for fracionrio, a converso se far em duas etapas distintas: primeiro a parte inteira e depois a parte fracionria. Os algoritmos de converso so diferentes. O algoritmo para a parte fracionria consiste de uma srie de multiplicaes sucessivas do nmero fracionrio a ser convertido pela base; a parte inteira do resultado da primeira multiplicao ser o valor da primeira casa fracionria e a parte fracionria ser de novo multiplicada pela base; e assim por diante, at o resultado dar zero ou at encontrarmos o nmero de casas decimais desejado. Por exemplo, vamos converter 15,6510 para a base 2, com 5 e com 10 algarismos fracionrios:

Obs.: Em ambos os casos, a converso foi interrompida quando encontramos o nmero de algarismos fracionrios solicitadas no enunciado. No entanto, como no encontramos resultado 0 em nenhuma das multiplicaes, poderamos continuar efetuando multiplicaes indefinidamente at encontrar (se encontrarmos) resultado zero. No caso de interrupo por chegarmos ao nmero de dgitos especificado sem encontramos resultado zero, o resultado encontrado

aproximado e essa aproximao ser funo do nmero de algarismos que calcularmos. Fazendo a converso inversa, encontraremos: Com 5 algarismos fracionrios: Parte inteira: 11112 = 1510 Parte fracionria: 0,101002 = 1x2-1 + 0x2-2 + 1x2-3 + 0x2-4 + 0x2-5 = 0,5 + 0,125 = 0,62510 Com 10 algarismos fracionrios: Parte inteira: 11112 = 1510 Parte fracionria: 0,10100110012 = 1x2-1 + 0x2-2 + 1x2-3 + 0x2-4 + 0x2-5 + 1x2-6 + 1x2-7 + 0x2-8 + 0x2-9 + 1x2-10 = 1/2 + 1/8 + 1/64 + 1/128 + 1/1024 = 0,5 + 0,125 + 0,015625 + 0,0078125 + 0,0009765625 = 0,6494140625 10 Ou seja, podemos verificar (sem nenhuma surpresa) que, quanto maior nmero de algarismos forem considerados, melhor ser a aproximao. Converso de Nmeros entre duas Bases quaisquer Para converter nmeros de uma base b para uma outra base b' quaisquer (isso , que no sejam os casos particulares anteriormente estudados), o processo prtico utilizado converter da base b dada para a base 10 e depois da base 10 para a base b' pedida. Exemplo: Converter 435 para ( )9. 435 = (4 x 5 + 3)10 = 2310 ==> 23/9 = 2 (resto 5) logo 435 = 2310 = 259
http://wwwusers.rdc.puc-rio.br/rmano/sn2cvb.html

Introduo
Atualmente muito comum o uso de bases numricas derivadas de 2 ao se utilizar computadores em baixo nvel (quando se programa um, por exemplo). O humano est familiarizado com a base 10 (decimal), no dia-a-dia, j os computadores atuais trabalham exclusivamente com a base 2 (binrio), assim preciso fazer converses entre estas bases quando se pretende inserir algum valor para ser processado pelo computador. Obviamente que ningum vai ficar convertendo nmeros para o binrio para ento digit-lo na calculadora e depois converter o resultado para decimal para us-lo. Esse processo de converso est, no caso da calculadora, prprogramado para ser feito por ela, o ponto a ser entendido aqui que internamente ela faz tudo em binrio, em outras palavras: ela converte o que foi digitado para binrio, faz o clculo, converte o resultado para decimal e apresenta o resultado. No entanto quando se est escrevendo um programa normal a introduo de valores no meio do cdigo, e em muitas situaes a digitao de cdigos binrios muito complicada/longa para o programador, ento existem outros cdigos que facilitam a digitao, na prtica muito utilizada a base 8 (octal), e a base 16 (hexadecimal), ambas derivadas da base 2 (note que estas bases facilitam a digitao somente, de qualquer forma ao ser compilado toda e qualquer base usada para escrever o programa convertida para base 2 para que o valor seja usado pelo processador).

Exemplos
Valores numricos representados em algumas bases 10 (Decimal) 2 (Binrio) 0 3 10 15 301 1379 42685 0 11 1010 1111 100101101 10101100011 8 (Octal) 0 3 12 17 455 2543 16 (Hexadecimal) 0 3 A F 12D 563 A6BD

1010011010111101 123275

Repare como na base maior (hexadecimal), o nmero de smbolos usados para representar o mesmo valor bem menor que nas bases menores, isso que facilita a digitao e memorizao dos valores. Repare tambm que no caso da simbologia da base hexadecimal so usadas algumas letras, isso ocorre porque temos smbolos para representar somente os algarismos de 0 a 9, como na base 16 necessria a representao de algarismos de 10 a 15 ento as letras de A at F so utilizadas para isso resultando na sequncia: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.

Converses
A converso entre bases pode ser realizada por meio de divises sucessivas, que funciona para qualquer combinao de bases, ou ento, para os casos em que a base de origem e de destino pertencem a mesma base logartmica, a converso pode ser feita simplesmente por reagrupamento dos algarismos.

Divises sucessivas
Neste mtodo uma das bases tem que ser a decimal. Assim se nenhuma delas for decimal necessrio primeiro converter a base de origem para decimal e ento converter para base de destino. Tomemos o exemplo da converso do nmero base 10 (decimal), 745 para a base 4. Uma srie de divises inteiras realizada at que o valor zere, o divisor usado o valor da base de destino e os restos das divises inteiras

a sequncia de algarismos da base de destino. Como a base de origem decimal podemos usar o mtodo diretamente:

Portanto 74510 = 232214 Outro exemplo 4C18 para a base 7: Como o valor de origem est na base 18 primeiro precisamos convert-lo para a base 10: 4C18 = 4 * 181 + 12 * 180 = 72 + 12 = 8410 Agora sim aplicamos as divises:

Assim: 4C18 = 8410 = 1507 Mais um exemplo: converter 6528 para a base 3: 6528 = 6 * 82 + 5 * 81 + 2 * 80 = 384 + 40 + 2 = 42610

Assim: 6528 = 42610 = 1202103

Reagrupamento
Quando as bases envolvidas so da mesma base logartmica ento a converso pode ser facilmente feita por simples reagrupamentos dos algarismos e uso de pequenas tabelas de converso. Por exemplo, entre as bases 16 e 8 ou entre 2 e 16 ou ainda entre as bases 27 e 9. Na prtica muito usada a converso entre as bases 2, 8 e 16 pelos motivos citados anteriormente. Segue uma tabela bsica para estas converses:

Decimal Binrio Octal

0 0

1 1 1

2 2 2

Tabela de converso de bases de origem binria 3 4 5 6 7 8 9 10 11 3 3 4 4 5 5 6 6 7 7 10 8 11 9 12 A 13 B

12 14 C

13 15 D

14 16 E

15 17 F

0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111

Hexadecimal 0

Convertendo 1110101102 para a base 16: Pela tabela vemos que para cada algarismo em hexadecimal so necessrios 4 algarismos para realizar sua representao em binrio. Ento o primeiro passo separar o valor em base 2 em blocos de 4 algarismos: 1110101102 = 1.1101.0110 Depois, consultando a tabela convertemos o valor de cada bloco para seu equivalente hexadecimal, assim teremos: 1110101102 = 1.D.616 = 1D616 Convertendo 1110101102 para base 8: Pela tabela vemos que para cada algarismo em octal so necessrios 3 algarismos para realizar sua representao em binrio. Ento devemos separar o valor em base 2 em blocos de 3 algarismos: 1110101102 = 111.010.110 Depois, consultando convertemos o valor de cada bloco para seu equivalente octal, assim teremos: 1110101102 = 7.2.68 = 7268 Finalmente uma converso do valor 3A816 para octal: Primeiro convertemos para os blocos binrios equivalentes com 4 dgitos: 3A816 = 3.A.816 = 0011.1010.10002 = 11101010002 Agora reagrupamos em blocos de 3 dgitos: 11101010002 = 1.110.101.0002 = 1.6.5.08 Assim: 3A816 = 16508

http://pt.wikipedia.org/wiki/Convers%C3%A3o_de_base_num%C3%A9rica

Soma de Binrios
0+0=0 0+1=1 1+0=1 1+1=fica 0 e transporte de 1 (para somar ao digito imediatamente esquerda) 1+1+1= fica 1 e transporte de 1(para somar ao digito imediatamente esquerda) Para somar dois nmeros binrios, o procedimento o seguinte: Exemplo 1:
* 1100 + 111 ----= 10011

Explicando: Os nmeros binrios so base 2, ou seja, h apenas dois algarismos: 0 (zero) ou 1 (um). Na soma de 0 com 1 o total 1. Quando se soma 1 com 1, o resultado 2, mas como 2 em binrio 10, o resultado 0 (zero) e passa-se o outro 1 para a "frente", ou seja, para ser somado com o prximo elemento, conforme assinalado pelo asterisco, como no exemplo acima. Exemplo 2:
** 1100 + 1111 ----= 11011

Explicando: Nesse caso acima (exemplo 2), na quarta coluna da direita para a esquerda, nos deparamos com uma soma de 1 com 1 mais a soma do 1 (*) que veio da soma anterior. Quando temos esse caso (1 + 1 + 1), o resultado 1 e passa-se o outro 1 para frente

Subtrao de Binrios
0-1=1 e vai 1* para ser subtraido no digito seguinte 1-1=0 1-0=1 0-0=0 Para subtrair dois nmeros binrios, o procedimento o seguinte:
* *** 1101110 - 10111 ------= 1010111

Explicando: Quando temos 0 menos 1, precisamos "pedir emprestado" do elemento vizinho. Esse emprstimo vem valendo 2 (dois), pelo fato de ser um nmero binrio. Ento, no caso da coluna 0 - 1 = 1, porque na verdade a operao feita foi 2-1 = 1. Esse processo se repete e o elemento que cedeu o "emprstimo" e valia 1 passa a valer 0. Os asteriscos marcam os elementos que "emprestaram" para seus vizinhos. Perceba, que, logicamente, quando o valor for zero, ele no pode "emprestar" para ningum, ento o "pedido" passa para o prximo elemento e esse zero recebe o valor de 1.

Multiplicao de Binrios
A multiplicao entre binrios similar realizada com nmeros decimais. A nica diferena est no momento de somar os termos resultantes da operao:

1011 x1010 --------0000 + 1011 + 0000 +1011 --------------=1101110 *

Perceba que na soma de 0 e 1 o resultado ser 1, mas na soma de 1 com 1, ao invs do resultado ser 2, ele ser 0 (zero) e passa-se o 1 para a prxima coluna, conforme assinalado pelo asterisco. Nota que se a soma passar de 2 dgitos, deve-se somar o nmero em binrio correspondente ( ex. 7 = 111, 6 = 110, 5 = 101, 4 = 100, 3 =11).
111 x 111 --------111 + 111 + 111 --------------= 110001

No caso, a terceira coluna a soma d 4 (com mais um da anterior), que adiciona um "1" duas colunas (100).

depois

Diviso de Binrios
Essa operao tambm similar quela realizada entre nmeros decimais:
110 |__10__ - 100 11010 - 1000

Deve-se observar somente a regra para subtrao entre binrios. Nesse exemplo a diviso de 110 por 10 teve como resultado 11. http://forum.imasters.com.br/topic/333774-conversao-de-bases-e-aritmetica-computacional/

Cdigos Binrios
A converso de um nmero decimal no seu equivalente binrio chamada codificao. Um nmero decimal expresso como um cdigo binrio ou nmero binrio. O sistema numrico binrio, como apresentado, conhecido como cdigo binrio puro. Este nome o diferencia de outros tipos de cdigos binrios.

Decimal Codificado em Binrio


Cdigo BCD 8421

O cdigo BCD um sistema de representao dos dgitos decimais desde 0 at 9 com um cdigo binrio de 4 bits. Esse cdigo BCD usa o sistema de pesos posicionais 8421 do cdigo binrio puro. Exatamente como binrio puro, pode-se converter os nmeros BCD em seus equivalentes decimais simplesmente somando os pesos das posies de bits onde aparece 1.

Decimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14

Binrio Puro 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110

BCD 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 0001 0000 0001 0001 0001 0010 0001 0011 0001 0100

15 1111 0001 0101 Decimal, Binrio Puro e BCD

Observe, entretanto, que existem apenas dez cdigos vlidos. Os nmeros binrios de 4 bits representando os nmeros decimais desde 10 at 15 so invlidos no sistema BCD. Para representar um nmero decimal em notao BCD substitui-se cada dgito decimal pelo cdigo de 4 bits apropriados. Por exemplo, o inteiro decimal 834 em BCD 1000 0011 0100. Cada dgito decimal representado pelo seu cdigo BCD 8421 equivalente. Um espao deixado entre cada grupo de 4 bits para evitar confuso do formato BCD com o cdigo binrio puro. Este mtodo de representao tambm se aplica as fraes decimais. Por exemplo, a frao decimal 0,764 0.0111 0110 0100 em BCD. Novamente, cada dgito decimal representado pelo seu cdigo equivalente 8421, com um espao entre cada grupo. Uma vantagem do cdigo BCD que as dez combinaes do cdigo BCD so fceis de lembrar. Conforme se comea a trabalhar com nmeros binrios regularmente, os nmeros BCD tornam-se to fceis e automticos como nmeros decimais. Por esta razo, por simples inspeo da representao BCD de um nmero decimal pode-se efetuar a converso quase to rpido como se j estivesse na forma decimal. Como exemplo, converter o nmero BCD no seu equivalente decimal. 0110 0010 1000.1001 0101 0100 = 628,954 O cdigo BCD simplifica a interface Homem-mquina, mas menos eficiente que o cdigo binrio puro. Usamse mais bits para representar um dado nmero decimal em BCD que em notao binria pura. Por exemplo, o nmero decimal 83 escrito como 1000 0011. Em cdigo binrio puro, usam-se apenas 7 bits para representar o nmero 83. Em BCD, usam-se 8 bits. O cdigo BCD ineficiente, pois, para cada bit numa palavra de dado, h usualmente alguma circuitaria digital associada. A circuitaria extra associada com o cdigo BCD custa mais, aumenta a complexidade do equipamento e consome mais energia. Operaes aritmticas com nmeros BCD tambm consomem mais tempo e so mais complexas que aquelas com nmeros binrios puros. Com quatro bits de informao binria, voc pode representar um total de 24 = 16 estados diferentes ou os nmeros decimais equivalentes desde o 0 at o 15. No sistema BCD, seis destes estados (10-15) so desperdiados. Quando o sistema numrico BCD usado, alguma eficincia perdida, mas aumenta-se o entendimento entre o equipamento digital e o operador humano.

Converso Binrio para BCD

A converso de decimal para BCD simples e direta. Entretanto, a converso de binrio para BCD no direta. Uma converso intermediria deve ser realizada primeiro. Por exemplo, o nmero 1011.01 convertido no seu equivalente BCD. Primeiro o nmero binrio convertido para decimal. 1011.01 = (1x2^3)+(0x2^2)+(1x2^1)+(1x2^0)+(0x2^-1)+(1x2^-2) =8+0+2+1+0+0,25 = 11,25(10) Ento o resultado decimal convertido para BCD. 11,25(10) = 0001 0001.0010 0101 Para converter de BCD para binrio, as operaes anteriores so invertidas. Por exemplo, o nmero BCD 1001 0110.0110 0010 0101 convertido no seu equivalente binrio.
1. O nmero BCD convertido para decimal. 1001 0110.0110 0010 0101 = 96,625 2. O resultado decimal convertido para binrio
Inteiro Resto Posio Frao Inteiro Posio 96 2 = 48 0 -> LSB 0,625 x 2 = 1,25 = 0,25 1 <- MSB 48 2 = 24 0 0,250 x 2 = 0,50 = 0,50 0 24 2 = 12 0 0,500 x 2 = 1,00 = 0 0 <- LSB 12 2 = 06 0 06 2 = 03 0 03 2 = 01 1 01 2 = 00 1 <- MSB 9610 = 11000002 0,62510 = 0.101 96,62510 = 9610 + 0,62510= 1100000 + 0.101 = 1100000.101

Como o nmero decimal intermedirio contm uma parte inteira e uma parte decimal, cada parte convertida como visto anteriormente. A soma binria (inteiro mais frao) 1100000.101 equivalente ao nmero BCD 1001 0110.0110 0010 0101. Vrios cdigos binrios so chamados cdigos alfanumricos pois eles so usados para representar caracteres assim como nmeros.
Cdigo ASCII

O "American Standard Code for Information Interchange" comumente referido como ASCII tambm chamado ASCII completo, ou ASCII estendido , uma forma especial de cdigo binrio que largamente utilizado em microprocessadores e equipamentos de comunicao de dados. Um novo nome para este cdigo que est se tornando popular "American National Standard Code for Information Interchange" (ANSCII). Entretanto, utilizaremos o termo consagrado, ASCII. um cdigo binrio que usado em transferncia de dados entre microprocessadores e seus dispositivos perifricos, e em comunicao de dados por rdio e telefone. Com 7 bits pode-se representar um total de 27 = 128 caracteres diferentes. Estes caracteres compreendem nmeros decimais de 0 at 9, letras maisculas e minsculas do alfabeto, mais alguns outros caracteres especiais usados para pontuao e controle de dados!

http://pt.wikipedia.org/wiki/Sistema_bin%C3%A1rio_%28matem%C3%A1tica%29