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
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:

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:

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:

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