Quase todos os sistemas operacionais compatĂveis com POSIX vĂŞm com o utilitário GNU bc de dĂ©cadas atrás por padrĂŁo. GNU bc (Calculadora Básica) Ă© uma precisĂŁo arbitrária linguagem de script matemático.
Bc possui sintaxe semelhante à linguagem de programação C. Não apenas sintaxe, o Bc também oferece recursos que você encontra em todas as outras linguagens de programação.
Por exemplo, instruções de controle usando if/else, instruções iterativas usando loop for ou while, funções matemáticas, instruções condicionais e diferentes tipos de operadores como aritméticos, lógicos e de atribuição.
Você pode usar o utilitário bc para realizar cálculos matemáticos básicos e avançados em seus scripts de shell usando o comando echo.
Modo interativo em Bc
Curiosamente, a calculadora básica tambĂ©m fornece um shell matemático interativo para executar operações. Apenas digitando ‘bc’ em seu terminal, vocĂŞ pode entrar no modo interativo e testar todas as funções e expressões disponĂveis.
Funções Bc avançadas usando mathlib
Para fazer cálculos matemáticos avançados usando funções seno, cosseno e logaritmo, bc fornece uma biblioteca matemática padrĂŁo. Ele pode ser usado carregando-o usando uma opção de linha de comando –mathlib ou -l com bc.
Atualmente, o mathlib suporta as seguintes funções:
- s (x) para seno
- c (x) para cosseno
- a (x) para arco tangente
- l (x) para logaritmo natural
- e (x) para a função exponencial de elevar e ao valor x
- j (n,x) para a função Bessel de ordem inteira n de x
- sqrt(x) para raiz quadrada
Além disso, mathlib também oferece suporte às seguintes funções especiais:
- comprimento (x) para o nĂşmero de dĂgitos em x
- read() para ler o nĂşmero da entrada padrĂŁo
- escala(expressĂŁo) para o nĂşmero de dĂgitos apĂłs o ponto decimal na expressĂŁo
- ibase e obase para a base de conversĂŁo para nĂşmeros de entrada e saĂda
- last (uma extensão) que contém o valor do último número impresso
Faça funções Bc personalizadas
Junto com as funções integradas, a calculadora básica também permite criar suas próprias funções conforme sua necessidade. Para criar uma função personalizada, você precisa iniciá-la com a palavra-chave define usando a seguinte sintaxe:
define function_name ( parameters ) { statement... return statement; }
Converter binário em decimal e decimal em binário usando Bc
Usando as variáveis ​​ibase e obase, você também pode converter binário em decimal e vice-versa.
Para converter binário em decimal:
$ echo 'ibase=2;obase=A;11' | bc -l
Para converter decimal em binário:
$ echo 'ibase=10;obase=2;3' | bc
Obtenha informações de um arquivo
Em vez de digitar expressões todas as vezes, você também pode colocar todas as suas expressões matemáticas em um arquivo e executá-lo usando o comando bc.