Circuitos digitais – Conversão de bases

Todo e qualquer valor inteiro representável em uma determinada base numérica pode ser livremente convertido para qualquer das outras bases numéricas definidas. Nem todo valor que possua uma parcela menor que a unidade em uma determinada base numérica pode ser convertido de maneira exata para as outras bases numéricas definidas.

Conversão de Decimal para Binário

Para encontrar o número binário correspondente a um número decimal, são realizadas sucessivas divisões do número decimal por 2.

Exemplo de conversão de Decimal para Binário
Exemplo de conversão de Decimal para Binário

Conversão de Binário para Decimal

Como vimos na lição anterior, para descobrir o número decimal correspondente a um número binário, basta calcular a soma de cada um dos dígitos do número binário multiplicado por 2 (que é a sua base) elevado à posição colunar do número, que, da direita para a esquerda começa em 0.

Exemplo de conversão de Binário para Decimal
Exemplo de conversão de Binário para Decimal

Conversão de Binário em Hexadecimal

Para converter um número binário em hexadecimal, separa-se o número binário 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ó:

Exemplo de conversão de Binário em Hexadecimal
Exemplo de conversão de Binário em Hexadecimal

Obs.: Caso o número de dígitos do número binário não seja múltiplo de 4, completa-se os dígitos à esquerda com zeros (0):

Conversão de Binário em Octal

Para converter números binários em octais, separa-se os dígitos do número binário 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:

Exemplo de conversão de Binário em Octal
Exemplo de conversão de Binário em Octal

Obs.: Caso o número de dígitos do número binário não seja múltiplo de 3, completa-se os dígitos à esquerda com zeros (0):

Conversão de Hexadecimal em Binário

Para converter números hexadecimais em binários, decompõem-se o número hexadecimal diretamente em binários de 4 dígitos. Os zeros mais à esquerda do resultado binário podem ser omitidos:

Exemplo de conversão de Hexadecimal em Binário
Exemplo de conversão de Hexadecimal em Binário

Conversão de Octal em Binário

Para converter números octais em binários, decompõem-se o número octal diretamente em binários de 3 dígitos. Os zeros mais à esquerda do resultado binário podem ser omitidos:

Exemplo de conversão de Octal em Binário
Exemplo de conversão de Octal em Binário

Conversão de Octal em Hexadecimal

Para converter um número octal em hexadecimal, transforma-se primeiro o octal em binário e em seguida o binário em hexadecimal:

Exemplo de conversão de Octal em Hexadecimal
Exemplo de conversão de Octal em Hexadecimal

Conversão de Hexadecimal em Octal

Para converter um número hexadecimal em octal, transforma-se primeiro o hexadecimal em binário e em seguida o binário em octal:

Exemplo de conversão de Hexadecimal em Octal
Exemplo de conversão de Hexadecimal em Octal

Código em java para estudo, bons estudos!

/**********************************************************
 * Programa: programa em Java que demonstra a
 * conversão de números entre bases diferentes
 *
 * Compilação: javac ConversaoEntreBases.java
 * Execução: java ConversaoEntreBases
 *
 * % java ConversaoEntreBases
 * % ---------------------------------
 * % Decimal 211 para Binário: 11010011
 * % Decimal 211 para Octal: 323
 * % Decimal 211 para Hexadecimal: d3
 * % ---------------------------------
 * % Binário: 11101110 para Decimal: 238
 * % Binário: 11101110 para Octal: 356
 * % Binário: 11101110 para Hexadecimal: ee
 * % ---------------------------------
 * % Octal: 77 para Decimal: 63
 * % Octal: 77 para Binário: 111111
 * % Octal: 77 para Hexadecimal: 3f
 * % ---------------------------------
 * % Hexadecimal: 58 para Decimal: 88
 * % Hexadecimal: 58 para Binário: 1011000
 * % Hexadecimal: 58 para Octal: 130
 *
 *
 *
**********************************************************/
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("---------------------------------");
 System.out.println("Decimal " + dec + " para Binário: " + binario);
 System.out.println("Decimal " + dec + " para Octal: " + octal);
 System.out.println("Decimal " + dec + " para Hexadecimal: " + hexadecimal);

 // -------------------------------------------------------

 String bin = "11101110";
 // string binario para decimal
 int decBin = Integer.parseInt(bin, 2);
 // binario para octal
 String decOct = Integer.toOctalString(decBin);
 // binario para hexadecimal
 String decHex = Integer.toHexString(decBin);

 System.out.println("---------------------------------");
 System.out.println("Binário: " + bin + " para Decimal: " + decBin);
 System.out.println("Binário: " + bin + " para Octal: " + decOct);
 System.out.println("Binário: " + bin + " para Hexadecimal: " + decHex);

 // -------------------------------------------------------

 String oct = "77";
 // string octal para inteiro decimal
 int octalInt = Integer.parseInt(oct, 8);
 // octal para hexadecimal
 String octHex = Integer.toHexString(octalInt);
 // octal para binário
 String octBin = Integer.toBinaryString(octalInt);

 System.out.println("---------------------------------");
 System.out.println("Octal: " + oct + " para Decimal: " + octalInt);
 System.out.println("Octal: " + oct + " para Binário: " + octBin);
 System.out.println("Octal: " + oct + " para Hexadecimal: " + octHex);

 // -------------------------------------------------------

 String hex = "58";
 // string hexadecimal para inteiro decimal
 int hexInt = Integer.parseInt(hex, 16);
 // hexadecimal para octal
 String hexOct = Integer.toOctalString(hexInt);
 // hexadecimal para binario
 String hexBin = Integer.toBinaryString(hexInt);

 System.out.println("---------------------------------");
 System.out.println("Hexadecimal: " + hex + " para Decimal: " + hexInt);
 System.out.println("Hexadecimal: " + hex + " para Binário: " + hexBin);
 System.out.println("Hexadecimal: " + hex + " para Octal: " + hexOct);
 }

}

Via: activeinfo.com.br