Você está na página 1de 13

Incio

Cursos

Blog

Curso de Lgica da Programao na Prtica.

Converso Entre Bases


Numricas.
Na lio anterior tivemos uma introduo aos nmeros
decimais, binrios, hexadecimais e octais.
Nesta lio vamos aprender algumas tcnicas para transformar
nmeros de bases diferentes entre si.

Converso de Decimal para Binrio


Para encontrar o nmero binrio correspondente a um nmero
decimal, so realizadas sucessivas divises do nmero decimal
por 2.
Em seguida, o resto da diviso de cada operao coletado de
forma invertida, da ltima para a primeira operao de diviso,
como na figura, onde foi obtido o nmero binrio
correspondente ao nmero decimal 25:

Use our professional PDF creation service at http://www.htm2pdf.co.uk!

A Empresa

Contato

Na figura acima vemos que o nmero decimal foi dividido


sucessivamente por 2 e os resultados foram coletados da
ltima para a primeira diviso, formando o nmero binrio.

Converso de Binrio para Decimal


Como vimos na lio anterior, para descobrir o nmero decimal
correspondente a um nmero binrio, basta calcular a soma de
cada um dos dgitos do nmero binrio multiplicado por 2 (que
a sua base) elevado posio colunar do nmero, que, da
direita para a esquerda comea em 0.
Vejamos uma converso do nmero binrio que obtivemos na
converso acima:

Use our professional PDF creation service at http://www.htm2pdf.co.uk!

Converso de Decimal para Hexadecimal


A converso de nmeros decimais para hexadecimais idntica
converso de decimal para binrio, exceto que a diviso deve
ser realizada por 16, que a base dos hexadecimais.
Quando tiver dvida sobre o valor em hexadecimal de algum
resto, verifique na tabela da lio anterior.

Converso de Hexadecimal em Decimal


A converso de nmeros hexadecimais em decimais realizada
atravs da soma dos dgitos hexadecimais multiplicados pela
base 16 elevada posio colunar contando da direita para a
esquerda, comeando em 0, de forma semelhante converso
de binrios em decimais:

Use our professional PDF creation service at http://www.htm2pdf.co.uk!

Note que os caracteres que definem os dgitos hexadecimais A,


B e C foram substitudos pelos valores equivalentes em
decimais 10, 11 e 12 de acordo com a tabela da lio anterior
para a realizao do clculo.

Converso de Decimal em Octal


Assim como nas converses anteriores, divide-se o decimal
pela base para a qual se quer obter o nmero, no caso, 8:

Vimos que foram coletados os restos de cada diviso da ltima


para a primeira para formar o nmero octal.

Converso de Octal em Decimal


A converso de nmeros octais em decimais obtida atravs
da soma dos dgitos do nmero octal multiplicados pela base 8
elevada posio colunar do dgito, comeando em 0 da direita
para a esquerda:
Use our professional PDF creation service at http://www.htm2pdf.co.uk!

Converso de Binrio em Hexadecimal


Para converter um nmero binrio em hexadecimal, separa-se o
nmero binrio em grupos de 4 bits, da direita para a
esquerda. Em seguida, transforma-se cada grupo de 4 bits em
hexadecimal. Ao final, simplesmente une-se os resultados em
um s:

Caso o nmero de dgitos do nmero binrio no seja mltiplo


de 4, completa-se os dgitos esquerda com zeros (0):
Use our professional PDF creation service at http://www.htm2pdf.co.uk!

Converso de Binrio em Octal


Para converter nmeros binrios em octais, separa-se os
dgitos do nmero binrio em grupos de 3 bits da direita para a
esquerda. Em seguida transforma-se cada grupo individual de 3
bits em octal. Ao final, une-se os resultados:

Use our professional PDF creation service at http://www.htm2pdf.co.uk!

Caso o nmero de dgitos do nmero binrio no seja mltiplo


de 3, completa-se os dgitos esquerda com zeros (0):

Converso de Hexadecimal em Binrio


Para converter nmeros hexadecimais em binrios,
decompem-se o nmero hexadecimal diretamente em binrios
de 4 dgitos. Os zeros mais esquerda do resultado binrio
podem ser omitidos:

Use our professional PDF creation service at http://www.htm2pdf.co.uk!

Converso de Octal em Binrio


Para converter nmeros octais em binrios, decompem-se o
nmero octal diretamente em binrios de 3 dgitos. Os zeros
mais esquerda do resultado binrio podem ser omitidos:

Converso de Octal em Hexadecimal


Para converter um nmero octal em hexadecimal, transforma-se
primeiro o octal em binrio e em seguida o binrio em
hexadecimal:

Converso de Hexadecimal em Octal


Para converter um nmero hexadecimal em octal, transforma-se
Use our professional PDF creation service at http://www.htm2pdf.co.uk!

primeiro o hexadecimal em binrio e em seguida o binrio em


octal:

Converses entre Bases em Ruby


Na lio anterior vimos que temos, basicamente:
Nmeros Decimais, de base 10.
Nmeros Binrios, de base 2.
Nmeros Hexadecimais, de base 16.
Nmeros Octais, de base 8.
Em Ruby h uma maneira bem simples de converter nmeros
entre bases diferentes.
Veja este exemplo no irb:

Use our professional PDF creation service at http://www.htm2pdf.co.uk!

Vejamos como feita essa converso:


Em primeiro lugar, o nmero em questo est no formato
String (observe as aspas). Em seguida, o mesmo
convertido em inteiro com o .to_i, informando a base
entre parnteses para a qual o mesmo deve ser
convertido, no caso, base 10, para que seja convertido em
inteiro decimal.

Em seguida o nmero convertido em String novamente,


informando a base para a qual o nmero deve ser
interpretado, no caso, base 2, para que seja convertido
em binrio.
Na segunda operao, o processo inverso realizado. O
nmero binrio que est no formato String convertido
em inteiro com o .to_i e informada a base 2 para o
mesmo, que logo em seguida convertido novamente em
String, dessa vez de base 10.
Use our professional PDF creation service at http://www.htm2pdf.co.uk!

E, claro que Ruby tambm facilita a converso entre outras


bases. Nas linhas subsequentes do nosso teste so convetidos
diversos exemplos que utilizamos em nossa lio entre
diversas bases.

Converso entre bases em Java


Em Java, tambm fcil converter nmeros entre bases
diferentes. Veja este programa simples:
/**********************************************************
* Programa: programa em Java que demonstra a
*

converso de nmeros entre bases diferentes

*
* Compilao: javac ConversaoEntreBases.java
* Execuo: java ConversaoEntreBases
*
* % java ConversaoEntreBases
* % --------------------------------* % Decimal 211 para Binrio: 11010011
* % Decimal 211 para Octal: 323
* % Decimal 211 para Hexadecimal: d3
* % --------------------------------* % Binrio: 11101110 para Decimal: 238
* % Binrio: 11101110 para Octal: 356
* % Binrio: 11101110 para Hexadecimal: ee
* % --------------------------------* % Octal: 77 para Decimal: 63
Use our professional PDF creation service at http://www.htm2pdf.co.uk!

* % Octal: 77 para Binrio: 111111


* % Octal: 77 para Hexadecimal: 3f
* % --------------------------------* % Hexadecimal: 58 para Decimal: 88

Testando
* % Hexadecimal:
o programa:
58 para Binrio: 1011000
* % Hexadecimal: 58 para Octal: 130
*
* @author Marcos Cesar Kossoski
*
**********************************************************/
public class ConversaoEntreBases {

public static void main (String[] args) {

String dec = "211";


// string para inteiro decimal
int decimal = Integer.parseInt(dec, 10);
// decimal para binario
String binario = Integer.toBinaryString(decimal);
// decimal para octal
String octal = Integer.toOctalString(decimal);
// decimal para hexadecimal
String hexadecimal = Integer.toHexString(decimal);

System.out.println("---------------------------------");

Voltar

Prximo: Converso de IP Decimal para


Binrio

System.out.println("Decimal " + dec + " para Binrio: " + binario);


System.out.println("Decimal " + dec + " para Octal: " + octal);
System.out.println("Decimal " + dec + " para Hexadecimal: " + hexadecimal);

// ------------------------------------------------------Use our professional PDF creation service at http://www.htm2pdf.co.uk!

Lies
Captulo 1
Captulo 2
Captulo 3
Captulo 4
Captulo 5
Captulo 6
Captulo 7
Registros (Arquivos)
Mtodos (Funes)
Algoritmos com Mtodos
Recursividade
Sistemas de Numerao
Converso Entre Bases Numricas
IP Decimal para Binrio
IP Binrio para Decimal
De se nvolvido por:

Marcos Cesar Kossoski

Use our professional PDF creation service at http://www.htm2pdf.co.uk!