ここから本文です

【 bc 】コマンド――対話的に計算する、小数点以下の桁数を指定して計算する

6/26(月) 8:25配信

@IT

 Linuxの基本的なコマンドについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、対話的に計算を行う「bc」コマンドです。
●bcコマンドとは?

bcコマンド内で計算を続けているところ

 「bc」は計算を処理するコマンドです。数字や記号を手入力していく対話処理の他に、演算式を書いたファイルを読み込み実行できます。

 四則演算はもちろん、比較や論理演算も実行できる上に、C言語ライクな制御構文を使用したプログラミングも可能です(本連載ではコマンドラインで計算を行う方法について扱います)。

○bcコマンドの書式
――――――
bc [オプション] [ファイル]
$ echo 計算式 | bc
――――――
※[ ]は省略可能な引数を示しています


●bcの主なオプション

短いオプション/長いオプション/意味
-i/--interactive/対話モードで起動する
-l/--mathlib/標準数学ライブラリを読み込んで起動する
-w/--warn/POSIX bcに対する拡張機能が入力された場合に警告を出す
-s/--standard/POSIX bcの言語仕様に厳密に従って処理を行う
-q/--quiet/起動時のメッセージを表示しない

※Ubuntuなどに採用されているbcは、POSIX規格を拡張している。-lオプションを使うと、三角関数や指数対数を利用できる。例えばタンジェントの逆関数を用いて、円周率πの値を計算できる。式の形は、4*a(1)

●対話処理で計算を行う

 bcを起動すると著作権表示などの後、カーソルが現れます。ここで計算式を入力してEnterキーを押すと結果を表示します。

 計算式では、()や変数を使用することも可能です。

 計算式を入力する際は左右の矢印キーでカーソルを移動させたり、[BackSpace]や[CTRL]+[H]で1文字削除したりできます。上下の矢印キーを使って、bcを起動してから実行した計算式を再度呼び出すことも可能です。計算が終わったら「quit」で終了します。

○コマンド実行例
――――――
bc(画面1)
――――――

●割り算で小数点以下の桁数を指定する

 bcは電卓とは異なり、割り算の際、標準では小数点以下を表示しません※。小数点以下の桁数は「scale=」で指定します。例えば、小数点以下5桁まで計算したい場合は、「scale=5」と入力してから計算を実行します。

 いったん設定したscaleの値は、bcを終了するまで有効です。

※この場合、計算途中でも小数点以下を切り捨ててしまう。例えば、「1/2*2」や「1/3*3」の結果は1ではなく、0になる


●コマンドラインで計算する

 bcはファイルや標準入力から計算式を入力して実行できます。「echo "計算式" | bc」のように入力すると、コマンドラインから計算式を入力できます。

○コマンド実行例
――――――
echo 123+45 | bc

echo "scale=5;100/3" | bc
――――――


●筆者紹介

西村 めぐみ(にしむら めぐみ)

PC-9801NからのDOSユーザー。PC-486DX時代にDOS版UNIX-like toolsを経てLinuxへ。1992年より生産管理のパッケージソフトウェアの開発およびサポート業務を担当。著書に『図解でわかるLinux』『らぶらぶLinuxシリーズ』『はじめてでもわかるSQLとデータ設計』『シェルの基本テクニック』など。2011年より、地方自治体の在宅就業支援事業にてPC基礎およびMicrosoft Office関連の教材作成およびeラーニング指導を担当。

最終更新:6/26(月) 8:25
@IT