Como usar bc como uma calculadora hexadecimal



Experimente Nosso Instrumento Para Eliminar Problemas

Várias implementações de sistema operacional do tipo Unix, como Linux e praticamente qualquer coisa que tenha o pacote GNU, inclui a linguagem básica da calculadora bc. Sua sintaxe é muito semelhante à linguagem de programação C. Você pode usá-lo como uma calculadora hexadecimal diretamente na linha de comando, então nunca mais precisará baixar algum aplicativo hexadecimal ou octal para o seu telefone novamente.



Esta é uma ótima notícia para desenvolvedores e qualquer pessoa que esteja trabalhando em alguns trabalhos de casa. Você precisará abrir um terminal para fazer isso. Segure Ctrl, Alt e T ou pesquise a palavra terminal no Ubuntu Unity Dash. Você pode querer iniciá-lo no menu Whisker ou Aplicativos em Ferramentas do sistema. Os usuários do macOS podem iniciar um terminal a partir da pasta Utilities ou clicando no dock se estiver fixado. Você pode encontrar bc na maioria dos sistemas operacionais do tipo Unix hoje em dia, e não apenas no Linux.



Método 1: usando bc para converter números decimais e hexadecimais

Tipo echo ‘obase = 16; 127’ | aC para converter o número 127 em hexadecimal de números regulares de base 10. Naturalmente, você pode substituí-lo por qualquer número inteiro. O resultado que você obterá é 7F, e se você quiser converter de volta para a base regular de 10, poderá digitar echo ‘ibase = 16; obase = A; 7F’ | aC e pressione Enter. É muito simples e pode ser usado a qualquer momento com qualquer número hexadecimal válido. Como é um comando válido no estilo Unix, você também pode incorporá-lo a qualquer tipo de script de shell. É fácil lembrar que você pode usar isso na linha de comando a qualquer momento em que precisar converter um número para frente e para trás rapidamente.



Método 2: converter números binários e hexadecimais com a calculadora hexadecimal bc

No prompt de comando, digite echo ‘obase = 16; ibase = 2; 111010001’ | aC para converter um número binário em hexadecimal. Pressione Enter e você receberá 1D1 como resposta. Naturalmente, você pode preencher essa linha binária com qualquer número binário que precise ser convertido no momento. Mais uma vez, o inverso também é verdadeiro e é possível usar a calculadora hexadecimal incluída para converter um número hexadecimal em um binário. Digitando echo ‘obase = 2; ibase = 16; 1D1’ | aC e pressionando Enter você obterá o número original de volta, mas pode substituir 1D1 por outros valores hexadecimais válidos.



Se você usa isso com frequência, convém manter dois pontos em mente. Uma é que as letras inerentes aos números hexadecimais devem ser sempre maiúsculas, porque o software bc trata as letras minúsculas como variáveis ​​algébricas. A segunda é que todos esses comandos podem ser executados por um usuário regular e você não precisa de acesso root para executá-los em qualquer versão moderna do Linux ou Unix.

Método 3: usando bc como uma calculadora Full Hex

Você também pode usar o comando bc como uma calculadora hexadecimal para realizar cálculos aritméticos, se necessário. A maioria das pessoas não terá essa necessidade, mas aqueles que são programadores podem precisar descobrir as diferenças entre dois locais diferentes na memória. Esta também é uma pergunta muito comum feita por aqueles que estão fazendo lição de casa de ciência da computação para o ensino médio e a faculdade!

Digamos que você tenha um número hexadecimal que é EE65522D e queira subtrair C3EFAF86 dele. Você poderia digitar echo ‘ibase = 16; EE65522D-C3EFAF86’ | aC e pressione Enter para encontrar a resposta. Se você preferir que a resposta seja em hexadecimal, você pode tentar echo ‘obase = 16; ibase = 16; EE65522D-C3EFAF86’ | aC para resolver dessa forma. Outras operações aritméticas também são permitidas. Por exemplo, echo ‘obase = 16; ibase = 16; EE65522D * C3EFAF86’ | aC iria multiplicar os dois valores. Você pode, é claro, usar + como um operando para adição, se desejar. Usar / para divisão não retorna um resto; você precisaria usar% para o módulo para fazer isso.

Por exemplo, executando echo ‘obase = 16; ibase = 16; EE65522D% C3EFAF86’ | bc retorna um valor de 2A75A2A7, porque o quociente dessa equação é 1 resto 2A75A2A7 quando executado em uma calculadora hexadecimal. Execute o operando / primeiro e, em seguida, o operando% para encontrar os dois valores.

3 minutos lidos