Conversor bases numéricas - GregorioFornetti/CriPython GitHub Wiki

Vídeo tutotial

Caso goste de assistir vídeos tutorias, clique aqui para assistir um vídeo sobre o conversor de bases numéricas.

Conversor bases numéricas

Imagem menu bases numéricas

Na imagem acima, algumas regiões importantes estão marcadas com retângulos vermelhos enumerados. Explicando cada região, temos:

1 - Opções de bases numéricas a serem convertidas: Nessa região você pode escolher a opção de base numérica que será convertida.

2 - Opções de bases numéricas de resposta: Nessa área você seleciona qual base numérica você deseja receber o resultado. A opção 1 é a opção de input (qual base numérica você está em mãos), e a opção 2 é o output (qual base numérica você quer receber a mensagem).

3 - Input: Digite um número na base numérica escolhida da opção 1 nessa região.

4 - Output: Caso não tenha nada de errado no input (nenhum valor inválido), a resposta aparecerá nessa área.

Funcionamento

Convertendo de binário para octal

Para converter de binário para octal, basta separar o número binário em blocos de 3 e ir trocando cada um desses blocos em um valor octal. Exemplos:

1- 101011 (binário) -> 101|011 (binário separado em blocos de 3) -> 53 (octal)

2- 1110111 (binário) -> 001|110|111 (binário separado em blocos de 3, completado com 0's a esquerda) -> 167

Convertendo de binário para decimal

Para converter de binário para decimal, basta somar as potências de 2. O valor mais a direita (o digito de menor significância) possui o valor de 2 elevado a 0. Exemplos:

1- 101 (binario) -> 1 x 2 ^ 2 + 0 x 2 ^ 1 + 1 x 2 ^ 0 -> 4 + 0 + 1 -> 5 (decimal)

2- 1101 (binario) -> 1 x 2 ^ 3 + 1 x 2 ^ 2 + 0 x 2 ^ 1 + 1 x 2 ^ 0 -> 8 + 4 + 0 + 1 -> 13 (decimal)

Convertendo de binário para hexadecimal

Para converter de binário para hexadecimal, basta separar o número binário em blocos de 4 e ir trocando cada blocos em um valor hexadecimal. Exemplos:

1- 10110110 (binário) -> 1011|0110 (binário separado em blocos de 4) -> B6 (hexadecimal)

2- 1111011101 (binário) -> 0011|1101|1101 (binário separado em blocos de 4, completado com 0's a esquerda) -> 3DD

Convertendo de octal para binário

Para converter de octal para binário, basta transformar cada digito octal em 3 dígitos binários e juntar todos. Exemplos

1- 12 (octal) -> 001|010 (binario dividido em blocos de 3) -> 1010 (binario)

2- 532 (octal) -> 101|011|010 (binario) -> 101011010 (binario)

Convertendo de octal para decimal

Para converter de octal para decimal, basta somar potencias de 8. O valor mais a direita é igual a 8 elevado a 0. Exemplos:

1- 43 (octal) -> 4 x 8 ^ 1 + 3 x 8 ^ 0 -> 32 + 3 -> 35 (decimal)

2- 123 (octal) -> 1 x 8 ^ 2 + 2 x 8 ^ 1 + 3 x 8 ^ 0 -> 64 + 16 + 0 -> 80 (decimal)

Convertendo de octal para hexadecimal

Para converter de octal para hexadecimal, primeiro converta o valor octal para binário e depois para hexadecimal. Exemplo

1- 12 (octal) -> 1010 (binário) -> A (hexadecimal)

2- 34 (octal) -> 11100 (binário) -> 1C (hexadecimal)

Convertendo de decimal para binário

Para converter de decimal para binário, basta dividir o número decimal sucessivamente por 2 até resultar em 0. Junte todos os restos pelo lado oposto. Exemplo:

decimal-binario

Convertendo de decimal para octal

Para converter de decimal para octal, basta dividir o número decimal sucessivamente por 8 até resultar em 0. Junte todos os restos pelo lado oposto. Exemplo:

decimal-octal

Convertendo de decimal para hexadecimal

Para converter de decimal para hexadecimal, basta dividir o número decimal sucessivamente por 16 até resultar em 0. Junte todos os restos pelo lado oposto. Exemplo:

decimal-hexadecimal

Convertendo de hexadecimal para binário

Para converter de hexadecimal para decimal, basta trocar cada dígito hexadecimal em blocos de 4 dígitos binários. Exemplos:

1- A1 (hexadecimal) -> 1010|0001 (binário dividido em blocos de 4) -> 10100001 (binário)

2- 192 (hexadecimal) -> 0001|1001|0010 (binário dividido em blocos de 4) -> 110010010 (binário)

Convertendo de hexadecimal para octal

Para converter de hexadecimal para octal, primeiro converta o numero hexadecimal para binário, e depois de binário para octal. Exemplos:

1- A1 (hexadecimal) -> 10100001 (binário) -> 241 (octal)

2- 192 (hexadecimal) -> 110010010 (binário) -> 622 (octal)

Convertendo de hexadecimal para decimal

Para converter de hexadecimal para decimal, basta somar potencias de 16. O valor mais a direita é igual a 16 elevado a 0. Exemplos:

1- A1 (hexadecimal) -> 10 x 16 ^ 1 + 1 x 16 ^ 0 -> 160 + 1 -> 161 (decimal)

2- 192 (hexadecimal) -> 1 x 16 ^ 2 + 9 x 16 ^ 1 + 2 x 16 ^ 0 -> 256 + 144 + 2 -> 402

Recomendações

Caso ainda tenha dúvidas sobre as bases numéricas, recomendo assistir esse vídeo do Curso em Vídeo. Caso queira ver o código em Python para a implementação dessas conversões, clique aqui