Matemática de ponto flutuante em Bash

Matemática de ponto flutuante em Bash

Um número que tem um espaço decimal é um número flutuante. Um número flutuante é um número inteiro positivo e negativo, com um ponto decimal como 2.5, 10.8, -5.23, etc. É por isso que a precisão é crucial quando você usa um número flutuante em um cálculo.

Ao trabalhar com números, você deve realizar matemática rápida de ponto flutuante, especialmente em scripts de shell. No entanto, pode levar muito trabalho para um iniciante avaliar pontos flutuantes em bash. Então, neste tutorial, daremos a você um resumo sobre as maneiras de realizar matemática de ponto flutuante em Bash.

Matemática de ponto flutuante em Bash

O Bash suporta apenas a aritmética inteira; portanto, se você precisar executar cálculos com números de ponto flutuante, use um utilitário separado no Bash. Vamos passar por alguns utilitários e ver como executar matemática de ponto flutuante em Bash:

Bc

O comando BC é um processo interativo para fornecer aritmética de precisão arbitrária em bash. O comando BC lê primeiro o arquivo de entrada especificado por qualquer parâmetro de arquivo e depois lê a entrada padrão. Com a calculadora de precisão arbitrária do BC, você pode executar matemática de ponto flutuante em scripts de shell, como adição, subtração, multiplicação, divisão, etc. Por exemplo, temos um arquivo bash da seguinte maneira:


Como você pode ver, acabamos de usar o comando BC usando o Pipe neste arquivo Bash. Vamos executar o script no terminal:


A saída acima mostra a adição, subtração, multiplicação e módulo estão corretos, mas a resposta da divisão está errada. Portanto, temos que adicionar a escala para a divisão:


Junto com toda a saída da divisão, também estará correto.


Agora voltaremos ao arquivo Bash e declararemos outro número cujo valor será o que você quiser e fará operações como poder, raiz quadrada, etc.


Aqui vamos encontrar a raiz quadrada de 2.2, que já declaramos em nosso arquivo Bash. Ao executar o arquivo Bash, nossa saída será algo assim:


Assim, você pode realizar matemática de ponto flutuante em Bash através do comando BC.

Perl

A linguagem Perl não requer compilação; Em vez disso, permite o código independente da plataforma. Você também pode executar a aritmética de números flutuantes em Bash com a ajuda de Perl, que suporta recursos de linguagem como C, C ++, CSH, SH, Grep, Awk e SED. Você pode fazer isso executando os seguintes comandos:

$ perl -e 'impressão 2.2 + 3.3 '
$ 5.5
$ perl -e 'impressão 2.2 - 3.3 '
$ -1.1

Awk

O utilitário AWK permite escrever programas eficazes, mas curtos, como declarações. Principalmente, o AWK é usado para padrões para digitalização e processamento. Este comando procura um ou mais arquivos para ver se eles contêm linhas correspondentes e executa ações relacionadas. Você pode executar facilmente matemática de ponto flutuante no script de shell através da varredura e processamento de padrões AWK.

Você pode usar o AWK para qualquer número flutuante para calcular a potência (**,^), o logaritmo natural (log (x)), a raiz quadrada (sqrt (x)), o arctangent (atan2 (y, x)), a função seno (sin (x)), a função cosseno (cos (x)) e assim por diante:

$ eco - | awk 'print sqrt (3.2) ''
$ 1.78885
$ eco - | awk 'print s62.5/5.5 '
$ 11.3636
$ eco - | awk 'print sqrt 2.2 ^ 1.3 '
$ 2.78708

Empacotando

Então isso foi tudo sobre os métodos para avaliar matemática de ponto flutuante no script Bash. Você calcula o ponto flutuante em diferentes linguagens de programação, como Perl, Python, Ruby, Calculadora de Precisão Arbitrária BC e Linguagem de Varredura e Processamento de padrões AWK. Você só precisa adicionar os comandos no script Bash e depois executar o script para obter os resultados desejados.