Bash の浮動小数点演算

Naila Saad Siddiqui 2023年6月20日
  1. Bash の整数演算
  2. Bash の浮動小数点演算
  3. Bash で浮動小数点演算に Basic Calculator (bc) を使用する
  4. Bash で浮動小数点演算に awk コマンドを使用する
  5. Bash で浮動小数点演算に perl コマンドを使用する
  6. Bash で浮動小数点演算に python コマンドを使用する
  7. まとめ
Bash の浮動小数点演算

この短い記事では、GNU BASH (シェル スクリプト) で浮動小数点計算をコマンド プロンプトから直接、またはシェル スクリプトですばやく実行する方法について説明します。

数値を扱う場合は、コマンド プロンプト (シェル) またはシェル スクリプトで浮動小数点計算をすばやく実行すると役立つ場合があります。 この記事では、Bash で浮動小数点演算を行う次の 4つの方法について説明します。

  1. bc コマンドを使用した任意精度計算方法。
  2. awk パターンのスキャンと処理方法を使用します。
  3. perl コマンドを使用する方法。
  4. python コマンド メソッドを使用します。

Bash の整数演算

整数のみの算術演算は、コマンド ラインで expr コマンドを使用するか、式 $[1+1] を評価する角括弧を使用して、Bash スクリプトで簡単に実行できます。 これを以下のコードに示します。

#!/bin/bash
echo $[2 + 1]

これにより、次の出力が生成されます。

expr と整数演算の出力

ただし、これらは整数のみの計算です。 これらの計算で答えが浮動小数点の場合は、その整数部分のみが表示されます。

浮動小数点演算を実行するには、以下で説明するツールの助けが必要です。

Bash の浮動小数点演算

複数のツールを使用して、Bash で浮動小数点算術演算を実行できます。 ただし、この記事では、(すべての UNIX または Linux OS ファミリで) 最も広く使用され、すぐに利用できる 4つのツールについて説明します。

Bash で浮動小数点演算に Basic Calculator (bc) を使用する

コマンドライン計算機の場合は、bc コマンドを使用します。 これは、単純な数学計算を実行するために使用できる単純な計算機に匹敵します。

どのプログラミング言語でも、最も基本的な演算は算術演算です。 bc および expr コマンドは、数学演算を実行するために Linux または Unix オペレーティング システムで使用できます。

これらのコマンドは、シェル スクリプトまたは Bash で算術式を評価できます。

次のスクリプトは、浮動小数点数の加算と除算を計算し、画面結果を表示します。

#!/bin/bash
echo "Addition: "
echo '1.5 + 2.5' | bc -l
echo "Division"
echo '2.1/3.2' | bc -l

これにより、次の出力が得られます。

bc 出力

Bash で浮動小数点演算に awk コマンドを使用する

実数または浮動小数点数には小数部分が含まれます。 すべての数値は、awk では倍精度浮動小数点数で表されます。

別の言い方をすれば、awk のすべての数値は浮動小数点数です。つまり、すべての計算でこれらの数値が使用されます。

awk コマンドは、かなり古く、長い間使用されてきたため、UNIX 系のすべてのオペレーティング システムまたは Linux ディストリビューションで使用できるという利点があります。

次のスクリプトは、awk を使用して 2つの浮動小数点数の乗算と除算を計算します。

#!/bin/bash
echo "Multiplication: "
echo - | awk '{print 2.1 * 3.2}'
echo "Division"
echo - | awk '{print 2.1 / 3.2}'

これにより、次の出力が得られます。

awk 出力

Bash で浮動小数点演算に perl コマンドを使用する

Perl は、通常、すべての Linux ディストリビューションまたはその他の UNIX ライクなオペレーティング システムのパッケージに含まれているプログラミング言語です。 perl コマンドは Bash で使用でき、Linux で浮動小数点演算を実行するのに役立ちます。

加算、減算、乗算、除算、代入演算子などのすべての演算を実行できます。

次のスクリプトは、Linux で perl コマンドを使用して、2つの浮動小数点数の減算と除算を計算します。

#!/bin/bash
echo "Subtraction: "
perl -e 'print 4.1 - 6.2'
echo "Division"
perl -e 'print 4.1 / 2.2'

これにより、次の出力が得られます。

perl 出力

Bash で浮動小数点演算に python コマンドを使用する

Perl と同様に、Python もプログラミングのあらゆる分野で広く使用されている言語です。 これは頻繁に使用される言語であり、Linux ディストリビューションにプリインストールされている場合があります。

python コマンドは、Bash スクリプトで浮動小数点演算を実行するのに役立ちます。 加算、減算、乗算、除算、代入演算子などのすべての演算を実行できます。

次のスクリプトは、python コマンドを使用して 2つの浮動小数点数の加算と除算を計算します。

#!/bin/bash
echo "Addition: "
python -c 'print 4.1 + 6.2'
echo "Division"
python -c 'print 4.1 / 2.2'

これにより、次の出力が得られます。

python 出力

まとめ

Unix または GNU Bourne Again Shell (Bash) では、コマンド ラインまたはスクリプトで浮動小数点演算を実行する方法が少なくとも 4つあります。 これらは、awkperlpython、および bc コマンドです。

Unix システムには、AWKBC、および Perl がプリインストールされている可能性があります。 Python はまだ PERL ほど人気がありませんが、現在ではかなり普及しています。

通常デフォルトで 32 ビットまたは 64 ビット精度の浮動小数点を使用する他の計算機とは異なり、BC には任意精度の計算機であるという独自の利点があります。