【 bc 】コマンド――対話的に計算する、小数点以下の桁数を指定して計算する:Linux基本コマンドTips(121)
本連載は、Linuxのコマンドについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、対話的に計算を行う「bc」コマンドです。
本連載では、Linuxの基本的なコマンドについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、対話的に計算を行う「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キーを押すと結果を表示します(画面1)。
計算式では、()や変数を使用することも可能です。
計算式を入力する際は左右の矢印キーでカーソルを移動させたり、[BackSpace]や[CTRL]+[H]で1文字削除したりできます。上下の矢印キーを使って、bcを起動してから実行した計算式を再度呼び出すことも可能です。計算が終わったら「quit」で終了します(画面2)。
コマンド実行例
bc(画面1)
割り算で小数点以下の桁数を指定する
bcは電卓とは異なり、割り算の際、標準では小数点以下を表示しません※。小数点以下の桁数は「scale=」で指定します。例えば、小数点以下5桁まで計算したい場合は、「scale=5」と入力してから計算を実行します。
いったん設定したscaleの値は、bcを終了するまで有効です。
※この場合、計算途中でも小数点以下を切り捨ててしまう。例えば、「1/2*2」や「1/3*3」の結果は1ではなく、0になる
コマンドラインで計算する
bcはファイルや標準入力から計算式を入力して実行できます。「echo "計算式" | bc」のように入力すると、コマンドラインから計算式を入力できます(画面4)。
コマンド実行例
echo 123+45 | bc(画面4)
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ラーニング指導を担当。
Copyright © ITmedia, Inc. All Rights Reserved.