SISTEMAS DE NUMERAÇÃO

Conversões entre Bases
Vamos analisar agora as regras gerais para converter números entre duas bases quaisquer. Conversões entre as bases 2, 8 e 16 As conversões mais simples são as que envolvem bases que são potências entre si. Vamos exemplificar com a conversão entre a base 2 e a base 8. Como 2 3 = 8, separando os bits de um número binário em grupos de tres bits (começando sempre da direita para a esquerda!) e convertendo cada grupo de tres bits para seu equivalente em octal, teremos a representação do número em octal. Por exemplo: 101010012 = 10.101.0012 (separando em grupos de 3, sempre começando da direita para a esquerda) Sabemos que 0102 = 28 ; 1012 = 58 ; 0012 = 18 portanto 101010012 = 2518 Se você ainda não sabe de cor, faça a conversão utilizando a regra geral. Vamos agora exemplificar com uma conversão entre as bases 2 e 16. Como 24 = 16, basta separarmos em grupos de 4 bits (começando sempre da direita para a esquerda!) e converter. Por exemplo: 110101011012 = 110.1010.11012 (separando em grupos de 4 bits, sempre começando da direita para a esquerda). Sabemos que 1102 = 616; 10102 = A16 ; 11012 = D16 ; portanto 110101011012 = 6AD16 Vamos agora exercitar a conversão inversa. Quanto seria 3F5H (lembrar que o H está designando "hexadecimal") em octal? O método mais prático seria converter para binário e em seguida para octal. 3F5H = 11.1111.01012 (convertendo cada dígito hexadecimal em 4 dígitos binários) = = 1.111.110.1012 (agrupando de tres em tres bits) = = 17658 (convertendo cada grupo de tres bits para seu valor equivalente em octal). Conversão de Números em uma base b qualquer para a base 10 Vamos lembrar a expressão 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 conversão é usando essa expressão. Tomando como exemplo o número 101101 2, vamos calcular seu valor representado na base dez. Usando a expressão acima, fazemos: 1011012 = 1x25 + 0x24 + 1x23 + 1x22 + 0x21 + 1x20 = 32 + 0 + 8 + 4 + 0 + 1 = 4510 Podemos fazer a conversão de números em qualquer base para a base 10 usando o algoritmo acima. Exemplos: a) Converter 4F5H para a base 10 . Solução: Lembramos que o H significa que a representação é hexadecimal (base 16). Sabemos ainda que F 16=1510. Então: 4x162 + 15x161 + 5x160 = 4x256 + 15x16 + 5 = 1024 + 240 + 5 = 126910 b) Converter 34859 para a base 10. Solução: 3x93 + 4x92 + 8x91 + 5x90 = 3x729 + 4x81 + 8x9 + 5 = 2187 + 324 + 72 + 5 = 258810. c) Converter 7G16 para a base 10. Solução: Uma base b dispõe dos algarismos entre 0 e (b-1). Assim, a base 16 dispõe dos algarismos 0 a F e portanto o símbolo G não pertence à representação hexadecimal. d) Converter 1001,012 para a base 10. Solução: 1x23 + 0x22 + 0x21 + 1x20 + 0x2-1 + 1x2-2 = 8 + 0 + 0 + 1 + 0 + 0,25 = 9,2510

a base 8 dispõe dos algarismos 0 a 7 e portanto o algarismo 8 não existe nessa base. até o resultado dar zero ou até encontrarmos o número de casas decimais desejado. como não encontramos resultado 0 em nenhuma das multiplicações. Os algoritmos de conversão são diferentes. o resto de cada divisão ocupará sucessivamente as posições de ordem 0.3 não existe na base 8. Parte Fracionária Se o número for fracionário. Solução: 3x51 + 4x50 + 3x5-1 = 15 + 4 + 0. vamos converter 15. poderíamos continuar efetuando multiplicações indefinidamente até encontrar (se encontrarmos) resultado zero. Assim.e) Converter 34. e assim por diante. No caso de interrupção por chegarmos ao número de dígitos especificado sem encontramos resultado zero. Os algoritmos serão melhor entendidos pelo exemplo que por uma descrição formal.: Em ambos os casos. o resultado encontrado . Solução: Uma base b dispõe dos algarismos entre 0 e (b-1). a conversão se fará em duas etapas distintas: primeiro a parte inteira e depois a parte fracionária. A representação 38. Veja o exemplo da conversão do número 19 10 para a base 2: Experimente fazer a conversão contrária (retornar para a base 10) e ver se o resultado está correto. a parte inteira do resultado da primeira multiplicação será o valor da primeira casa fracionária e a parte fracionária será de novo multiplicada pela base. com 5 e com 10 algarismos fracionários: Obs.6 = 19.38 para a base 10. Vamos a seguir apresentar os algoritmos para a parte inteira e para a parte fracionária: Parte Inteira: O número decimal será dividido sucessivas vezes pela base.610 f) Converter 38. 1. 2 e assim por diante até que o resto da última divisão (que resulta em quociente zero) ocupe a posição de mais alta ordem. O algoritmo para a parte fracionária consiste de uma série de multiplicações sucessivas do número fracionário a ser convertido pela base.6510 para a base 2.35 para a base 10. No entanto. a conversão foi interrompida quando encontramos o número de algarismos fracionários solicitadas no enunciado. Conversão de Números da Base 10 para uma Base b qualquer A conversão de números da base dez para uma base qualquer emprega algoritmos que serão o inverso dos acima apresentados. Por exemplo.

5 + 0.puc-rio.rdc. podemos verificar (sem nenhuma surpresa) que.br/rmano/sn2cvb. encontraremos: Com 5 algarismos fracionários: Parte inteira: 11112 = 1510 Parte fracionária: 0.é aproximado e essa aproximação será função do número de algarismos que calcularmos.html .0078125 + 0. que não sejam os casos particulares anteriormente estudados). 435 = (4 x 5 + 3)10 = 2310 ==> 23/9 = 2 (resto 5) logo 435 = 2310 = 259 http://wwwusers. o processo prático utilizado é converter da base b dada para a base 10 e depois da base 10 para a base b' pedida.0009765625 = 0. melhor será a aproximação.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. Exemplo: Converter 435 para ( )9. Fazendo a conversão inversa.125 = 0.101002 = 1x2-1 + 0x2-2 + 1x2-3 + 0x2-4 + 0x2-5 = 0.015625 + 0.125 + 0.62510 Com 10 algarismos fracionários: Parte inteira: 11112 = 1510 Parte fracionária: 0.6494140625 10 Ou seja. quanto maior número de algarismos forem considerados. Conversão de Números entre duas Bases quaisquer Para converter números de uma base b para uma outra base b' quaisquer (isso é.

Uma série de divisões inteiras é realizada até que o valor zere. Obviamente que ninguém vai ficar convertendo números para o binário para então digitá-lo na calculadora e depois converter o resultado para decimal para usá-lo. assim é preciso fazer conversões entre estas bases quando se pretende inserir algum valor para ser processado pelo computador. e em muitas situações a digitação de códigos binários é muito complicada/longa para o programador. em outras palavras: ela converte o que foi digitado para binário. 4. Repare também que no caso da simbologia da base hexadecimal são usadas algumas letras. 745 para a base 4. o número de símbolos usados para representar o mesmo valor é bem menor que nas bases menores. Assim se nenhuma delas for decimal é necessário primeiro converter a base de origem para decimal e então converter para base de destino. faz o cálculo. 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). ambas derivadas da base 2 (note que estas bases facilitam a digitação somente. O humano está familiarizado com a base 10 (decimal). que funciona para qualquer combinação de bases. como na base 16 é necessária a representação de algarismos de 10 a 15 então as letras de A até F são utilizadas para isso resultando na sequência: 0. converte o resultado para decimal e apresenta o resultado. F. B. No entanto quando se está escrevendo um programa é normal a introdução de valores no meio do código. 2. na prática é muito utilizada a base 8 (octal).Introdução Atualmente é muito comum o uso de bases numéricas derivadas de 2 ao se utilizar computadores em baixo nível (quando se programa um. por exemplo). já os computadores atuais trabalham exclusivamente com a base 2 (binário). Esse processo de conversão está. 6. é isso que facilita a digitação e memorização dos valores. E. a conversão pode ser feita simplesmente por reagrupamento dos algarismos. isso ocorre porque temos símbolos para representar somente os algarismos de 0 a 9. 8. Exemplos Valores numéricos representados em algumas bases 10 (Decimal) 2 (Binário) 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). A. Divisões sucessivas Neste método uma das bases tem que ser a decimal. 9. para os casos em que a base de origem e de destino pertencem a mesma base logarítmica. então existem outros códigos que facilitam a digitação. 5. C. ou então. 3. 7. D. o divisor usado é o valor da base de destino e os restos das divisões inteiras é . Tomemos o exemplo da conversão do número base 10 (decimal). e a base 16 (hexadecimal). préprogramado para ser feito por ela. 1. o ponto a ser entendido aqui é que internamente ela faz tudo em binário. no caso da calculadora. Conversões A conversão entre bases pode ser realizada por meio de divisões sucessivas. no dia-a-dia.

Como a base de origem é decimal podemos usar o método 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 divisões:    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 são da mesma base logarítmica então a conversão pode ser facilmente feita por simples reagrupamentos dos algarismos e uso de pequenas tabelas de conversão. Na prática é muito usada a conversão entre as bases 2. entre as bases 16 e 8 ou entre 2 e 16 ou ainda entre as bases 27 e 9.a sequência de algarismos da base de destino. Segue uma tabela básica para estas conversões: Decimal Binário Octal 0 0 1 1 1 2 2 2 Tabela de conversão de bases de origem binária 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 . 8 e 16 pelos motivos citados anteriormente. Por exemplo.

Convertendo 1110101102 para a base 16: Pela tabela vemos que para cada algarismo em hexadecimal são necessários 4 algarismos para realizar sua representação em binário.org/wiki/Convers%C3%A3o_de_base_num%C3%A9rica .101. consultando a tabela convertemos o valor de cada bloco para seu equivalente hexadecimal.D.6.68 = 7268 Finalmente uma conversão do valor 3A816 para octal: Primeiro convertemos para os blocos binários equivalentes com 4 dígitos: 3A816 = 3. Então o primeiro passo é separar o valor em base 2 em blocos de 4 algarismos: 1110101102 = 1. Então devemos separar o valor em base 2 em blocos de 3 algarismos: 1110101102 = 111.10002 = 11101010002 Agora reagrupamos em blocos de 3 dígitos: 11101010002 = 1.0110 Depois. assim teremos: 1110101102 = 7.wikipedia.2.010.5. assim teremos: 1110101102 = 1.08 Assim: 3A816 = 16508 http://pt.816 = 0011.110 Depois.110.1010. consultando convertemos o valor de cada bloco para seu equivalente octal.0002 = 1.1101.616 = 1D616 Convertendo 1110101102 para base 8: Pela tabela vemos que para cada algarismo em octal são necessários 3 algarismos para realizar sua representação em binário.A.

Quando se soma 1 com 1. o procedimento é o seguinte: Exemplo 1: * 1100 + 111 ----= 10011 Explicando: Os números binários são base 2. Perceba. Os asteriscos marcam os elementos que "emprestaram" para seus vizinhos. Esse processo se repete e o elemento que cedeu o "empréstimo" e valia 1 passa a valer 0. logicamente. o resultado é 0 (zero) e passa-se o outro 1 para a "frente". Exemplo 2: ** 1100 + 1111 ----= 11011 Explicando: Nesse caso acima (exemplo 2). ele não pode "emprestar" para ninguém.1 = 1. Então. Quando temos esse caso (1 + 1 + 1). ou seja. pelo fato de ser um número binário. que. nos deparamos com uma soma de 1 com 1 mais a soma do 1 (*) que veio da soma anterior. o procedimento é o seguinte: * *** 1101110 . porque na verdade a operação feita foi 2-1 = 1. Esse empréstimo vem valendo 2 (dois). há apenas dois algarismos: 0 (zero) ou 1 (um). precisamos "pedir emprestado" do elemento vizinho. conforme assinalado pelo asterisco.10111 ------= 1010111 Explicando: Quando temos 0 menos 1. ou seja. A única diferença está no momento de somar os termos resultantes da operação: . na quarta coluna da direita para a esquerda. Multiplicação de Binários A multiplicação entre binários é similar à realizada com números decimais. para ser somado com o próximo elemento.Soma de Binários 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 números binários. mas como 2 em binário é 10. então o "pedido" passa para o próximo elemento e esse zero recebe o valor de 1. Na soma de 0 com 1 o total é 1. como no exemplo acima. o resultado é 1 e passa-se o outro 1 para frente Subtração de Binários 0-1=1 e vai 1* para ser subtraido no digito seguinte 1-1=0 1-0=1 0-0=0 Para subtrair dois números binários. quando o valor for zero. o resultado é 2. no caso da coluna 0 .

é conhecido como código binário puro.imasters.br/topic/333774-conversao-de-bases-e-aritmetica-computacional/ Códigos Binários A conversão de um número decimal no seu equivalente binário é chamada codificação.com. que adiciona um "1" duas colunas (100). 3 =11). Decimal Codificado em Binário Código BCD 8421 O código BCD é um sistema de representação dos dígitos decimais desde 0 até 9 com um código binário de 4 bits. como apresentado. ele será 0 (zero) e passa-se o 1 para a próxima coluna. 6 = 110. 5 = 101. depois Divisão de Binários Essa operação também é similar àquela realizada entre números decimais: 110 |__10__ .1011 x1010 --------0000 + 1011 + 0000 +1011 --------------=1101110 * Perceba que na soma de 0 e 1 o resultado será 1. 7 = 111. http://forum. a terceira coluna a soma dá 4 (com mais um da anterior). pode-se converter os números BCD em seus equivalentes decimais simplesmente somando os pesos das posições de bits onde aparece 1.10—00 Deve-se observar somente a regra para subtração entre binários. Esse código BCD usa o sistema de pesos posicionais 8421 do código binário puro. Nota que se a soma passar de 2 dígitos. 4 = 100.100 11—010 . ao invés do resultado ser 2. Exatamente como binário puro. mas na soma de 1 com 1. 111 x 111 --------111 + 111 + 111 --------------= 110001 No caso. Este nome o diferencia de outros tipos de códigos binários. O sistema numérico binário. deve-se somar o número em binário correspondente ( ex. . conforme assinalado pelo asterisco. Nesse exemplo a divisão de 110 por 10 teve como resultado 11. Um número decimal é expresso como um código binário ou número binário.

usam-se apenas 7 bits para representar o número 83. Por esta razão.0111 0110 0100‖ em BCD. há usualmente alguma circuitaria digital associada. Os números binários de 4 bits representando os números decimais desde 10 até 15 são inválidos no sistema BCD. entretanto. 0110 0010 1000. Em BCD. mas é menos eficiente que o código binário puro. você pode representar um total de 24 = 16 estados diferentes ou os números decimais equivalentes desde o 0 até o 15. converter o número BCD no seu equivalente decimal. Por exemplo. Cada dígito decimal é representado pelo seu código BCD 8421 equivalente. os números BCD tornam-se tão fáceis e automáticos como números decimais.Decimal 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Binário 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. . usam-se 8 bits. Operações aritméticas com números BCD também consomem mais tempo e são mais complexas que aquelas com números binários puros. seis destes estados (10-15) são desperdiçados. aumenta a complexidade do equipamento e consome mais energia. Em código binário puro. Usamse mais bits para representar um dado número decimal em BCD que em notação binária pura.1001 0101 0100 = 628. Por exemplo. para cada bit numa palavra de dado. por simples inspeção da representação BCD de um número decimal pode-se efetuar a conversão quase tão rápido como se já estivesse na forma decimal. Quando o sistema numérico BCD é usado. mas aumenta-se o entendimento entre o equipamento digital e o operador humano. Para representar um número decimal em notação BCD substitui-se cada dígito decimal pelo código de 4 bits apropriados. com um espaço entre cada grupo. o número decimal 83 é escrito como 1000 0011.764 é ―0. Conforme se começa a trabalhar com números binários regularmente. que existem apenas dez códigos válidos. pois. Um espaço é deixado entre cada grupo de 4 bits para evitar confusão do formato BCD com o código binário puro. cada dígito decimal é representado pelo seu código equivalente 8421. O código BCD é ineficiente. A circuitaria extra associada com o código BCD custa mais. a fração decimal 0.954 O código BCD simplifica a interface Homem-máquina. Com quatro bits de informação binária. Este método de representação também se aplica as frações decimais. Por exemplo. alguma eficiência é perdida. Uma vantagem do código BCD é que as dez combinações do código BCD são fáceis de lembrar. Binário Puro e BCD Observe. Como exemplo. No sistema BCD. o inteiro decimal 834 em BCD é 1000 0011 0100. Novamente.

62510= 1100000 + 0.01 é convertido no seu equivalente BCD. e em comunicação de dados por rádio e telefone.25 = 0.org/wiki/Sistema_bin%C3%A1rio_%28matem%C3%A1tica%29 . ASCII.101 96.LSB 12 ÷ 2 = 06 0 06 ÷ 2 = 03 0 03 ÷ 2 = 01 1 01 ÷ 2 = 00 1 <. ou ASCII estendido –. Por exemplo. Primeiro o número binário é convertido para decimal.wikipedia. mais alguns outros caracteres especiais usados para pontuação e controle de dados! http://pt. Entretanto.62510 = 0. É um código binário que usado em transferência de dados entre microprocessadores e seus dispositivos periféricos.0110 0010 0101 é convertido no seu equivalente binário.00 = 0 0 <. Entretanto. Estes caracteres compreendem números decimais de 0 até 9.250 x 2 = 0. o número 1011.01 = (1x2^3)+(0x2^2)+(1x2^1)+(1x2^0)+(0x2^-1)+(1x2^-2) =8+0+2+1+0+0.0110 0010 0101. Vários códigos binários são chamados códigos alfanuméricos pois eles são usados para representar caracteres assim como números.101 = 1100000.101 é equivalente ao número BCD 1001 0110. 1. 1011.Conversão Binário para BCD A conversão de decimal para BCD é simples e direta.62510 = 9610 + 0.50 = 0.625 x 2 = 1.0010 0101 Para converter de BCD para binário.101 Como o número decimal intermediário contém uma parte inteira e uma parte decimal.25(10) Então o resultado decimal é convertido para BCD.25(10) = 0001 0001. é uma forma especial de código binário que é largamente utilizado em microprocessadores e equipamentos de comunicação de dados. Por exemplo. o número BCD 1001 0110. Com 7 bits pode-se representar um total de 27 = 128 caracteres diferentes. as operações anteriores são invertidas. cada parte é convertida como visto anteriormente. Um novo nome para este código que está se tornando popular é "American National Standard Code for Information Interchange" (ANSCII). letras maiúsculas e minúsculas do alfabeto.25 = 11.625 2.MSB 48 ÷ 2 = 24 0 0.25 1 <.500 x 2 = 1. O número BCD é convertido para decimal. Código ASCII O "American Standard Code for Information Interchange" comumente referido como ASCII – também chamado ASCII completo.50 0 24 ÷ 2 = 12 0 0. Uma conversão intermediária deve ser realizada primeiro.MSB 9610 = 11000002 0. a conversão de binário para BCD não é direta. 11. O resultado decimal é convertido para binário Inteiro Resto Posição Fração Inteiro Posição 96 ÷ 2 = 48 0 -> LSB 0. A soma binária (inteiro mais fração) 1100000. 1001 0110. utilizaremos o termo consagrado.0110 0010 0101 = 96.

wikipedia. letras maiúsculas e minúsculas do alfabeto. mais alguns outros caracteres especiais usados para pontuação e controle de dados! http://pt.de 0 até 9.org/wiki/Sistema_bin%C3%A1rio_%28matem%C3%A1tica%29 .

Sign up to vote on this title
UsefulNot useful