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.
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.
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ó:
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:
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:
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:
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:
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:
Código em java para estudo, bons estudos!
[code lang=”java”]/*********************************************************** 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);
}
}
[/code]Via: activeinfo.com.br