Circuitos digitaisMe salva

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!

[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

Welton L. Santos
Tenho 24 anos, estudante de bacharelado em ciência da computação - BCC, FUNDADOR da comunidade/site/grupo ciência da computação. Estudo na universidade Federal Rural de Pernambuco - UFRPE. Tenho como lema "Qualquer tecnologia suficientemente avançada é indistinguível de mágica" 3ª Lei de Arthur C. Clarke.

Leave a reply

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

0 %