マイナビニュースマイナビ
tech+  Powered by  マイナビニュース マイナビニュース マイナビニュース
  • 企業IT
    • ITインフラ
    • セキュリティ
    • 開発/エンジニア
    • SaaS
    • 企業動向
    • マーケティング
    • キャリア/スキル
    • クラウド
    • ワークスタイル

    Sponsored

    • 無線LAN / Wi-Fi
    • Lenovoの企業支援+
    • デル・テクノロジーズ
    • Python学習
    • マウスコンピューター(法人)
    • 地域のスマート化
    • OPEN DX
    • マネーフォワード クラウド
    • 顧客データ活用
    • ノーコードツール kintone
    • プライバシー保護
    • 電通
    • 情シス業務改革特集
    • セキュリティ特集
    • 伊藤忠テクノソリューションズ
  • テクノロジー
    • 半導体
    • カーエレクトロニクス
    • HPC
    • 環境技術
    • サイエンス
    • 宇宙・航空
    • ものづくり

    Sponsored

    • IoT
    • インテルのAI × ITインフラ
  • 導入事例
    • 業種から探す
    • テーマから探す
    • 製品/ソリューションから探す
  • ホワイトペーパー
    コンテンツから探す
    • 事例
    • レポート
    • インタビュー
    • ソリューション
    テーマから探す
    • クラウド/データセンター
    • 仮想化
    • ハードウェア
    • スマートモバイル
    • ネットワーク
    • システム運用管理
    • CRM/SFA/マーケティング
    • 経営とIT
    • セキュリティ
    • 業務系システム
    • データ分析
    • 情報系システム
    • システム開発
    • ハードウェア開発
  • セミナー
  • はたらくの未来へ/日本HP
  • 生成AI時代のソフトウェア開発
おすすめのキーワード
  • AI
  • 生成AI
  • 導入事例
  • LLM
  • クラウド
  • お笑い
  • マンガ
  • 仮面ライダー
キーワード一覧
チャンネル一覧
  • 総合トップ
  • TECH+
  • +Digital
  • PREMIUM
  • ウーマン
  • ワーク&ライフ
  • 就職応援
  • エンタメ
  • ホビー
  • 特集
  • 地域活性
  • IIJ
  • 読者コーナー
  • おすすめナビ
  • マイナビBOOKS
関連サイト
Techplus menubanner
Navi seminar
マイナビニュースについて
  • SNSアカウント一覧
  • メールマガジン登録
マイナビニュース公式SNS
  • ]
お知らせ
プライバシーポリシーを一部改訂しました
  • TECH+
  • 企業IT
  • キャリア/スキル
  • コンピューター上の電卓機能(1)

連載

第41回
なんとなくコマンド

コンピューター上の電卓機能(1)

掲載日  2023/01/16 17:45

鍵アイコン
  • コマンド活用

今回は電卓コマンドのbcを使ってみましょう。bcコマンドはUNIX系OS上で動作します。ラズベリーパイでもRaspberry Pi OS上で実行できます。パソコンなんて持ってないという人でもiPhoneならa shellを入れれば簡易的なシェルを使う事ができます。今回のbcも使えます。Windows版のbcは以下のページからダウンロードして使うことができます。ダウンロード後はbc.exeのアイコンをダブルクリックするかコマンドライン/PowerShellから起動して実行できます。

https://gnuwin32.sourceforge.net/packages/bc.htm
  • iPhoneでのbcコマンド実行

  • Bc for Windowsでのbcコマンド実行

OSに用意されている電卓

 bcは入力された指定された式を計算するものです。まあ、要するに簡易電卓です。高機能なコンピュータが目の前にあるのに、なぜか電卓があるというのが不思議な気もしますが、簡単な計算なら電卓の方がコストが低いからかもしれません。多くのOSでは電卓が用意されています。macOS標準の電卓なら普通の電卓に加えて関数・科学用とプログラマ用の電卓機能が用意されています。

Windowsの電卓では日付の計算もできるようになっています。多分、標準で用意されている電卓としてはWindowsが一番高機能で便利ではないかと思います。他にも様々な単位変換もできます。

Raspberry Pi OSにも電卓が用意されています。こちらはmacOS、Windowsと比べると機能は多くありませんが、十分な機能を備えています。

bcを使った簡単な計算

 まずはbcを使って簡単な計算をしてみましょう。電卓に必要なのは加減乗除です。ほとんどは、この計算が主でしょう。
 bcコマンドで計算するには、コマンドラインからそのままbcと入力します。

すると計算式の入力待ちになります。ここで、足し算をしてみましょう。2+3と入力したらリターンキーを押します。すると計算結果が表示されます。

もう少し複雑な計算をしてみましょう。bcでの計算式はカッコも使えます。(2+3)*4と入力してリターンキーを押します。すると計算結果が表示されます。カッコによる計算の優先順位が正しく反映されているのがわかります。ここらへんは普通の電卓よりも便利かもしれません。

ここで一旦電卓コマンドのbcを終了させて見ましょう。コントロールキーとCキーを押して止めることもできますが、bcには終了コマンドquitが用意されています。
quitと入力しリターンキーを押すとbcが終了します。

演算の精度

 今度は割り算をしてみましょう。10/3と入力してください。

 10÷3は3.3333...となるはずが、3とだけ表示されてしまっています。bcは特に設定しない限り演算した整数部分だけを出力してしまいます。
 bcコマンドで小数部分も出力させる場合はscaleを使って小数点以下の桁数を指定します。例えば以下のようにすると小数点以下第8位まで出力します。

 桁数を指定できるとしても、どこまでできるかという疑問を持つ人もいるかもしれません。ということでやってみると環境によって違うかもしれませんが、macOS (BigSur)では134217729までは指定可能でした。ちなみにscale=の後には計算式を使うことができるので最高精度(134217729)の式は以下のようになります。これより大きな値を指定するとエラーになります。

scale=2^27+1

 ちなみに上記の計算式に出てくる^はべき乗を示します。2^3なら2の3乗、2^8なら2の8乗を示すことになります。主な演算記号をまとめると以下のようになります。

+   加算
-   減算
*   乗算
/   除算
%   剰余(割り算の余り)
^   べき乗

コマンドラインからの計算式を処理

 bcはbcと入力した後に計算式を入力しても、なぜか計算してくれません。以下のように入力してもエラーが表示されるだけです。

bc '1+(2*3)'

コマンドラインだけでbcに計算させるにはechoなど標準出力できるコマンドと組み合わせる必要があります。 上記の計算の場合は以下のように書きます。

echo '1+(2*3)' | bc

正直なところ簡単な計算なら暗算でやるか普通の電卓を使った方が早くて簡単です。
とは言え普通の電卓や関数電卓よりも優れている点としてはコマンドラインから計算式を受け取って結果を標準出力できる事にあります。

という事でテキストファイルに入力された計算式をbcに渡して計算させてみましょう。
まず、計算式を入力した以下のようなテキストファイルを用意します。一行で1つの計算式にしておいてください。
このテキストファイルの名前はdata.txtとし、カレントディレクトリにあるものとします。カレントディレクトリではない場合はdata.txtの場所をパスで指定してください。これまでと同じデスクトップ上のsampleディレクトリに入れてあれば~/Desktop/sample/data.txtのようにパスを指定することになります。パスで指定するのが面倒ならcd ~/Desktop/sampleのようにcdコマンドを使ってディレクトリを移動しておきましょう。

data.txt

テキストファイルの内容をcatを使ってbcに渡します。行ごとの計算結果が出力されます。

cat data.txt | bc

出力結果をみると10/3の結果が3となってしまっています。どこかで精度を指定しないといけません。精度は計算前の行にscale=8のように指定します。
data.txtの内容を以下のように変更して実行してみましょう。

今度は10/3の計算結果が何か変です。桁数を指定した影響で結果がおかしくなってしまったようです。scaleで精度を指定すると以後の計算は指定した精度になってしまいます。仕方ないので精度を元に戻してから計算するようにします。以下のようにdata.txtの内容を変更してから実行しましょう。

今度は期待通りの結果になりました。とは言えscaleに1行使ってしまうのはイマイチ(1行に1つの計算式であるべきだみたいな考え)だという人もいるかもしれません。そういう場合には;(セミコロン)で区切って1行にまとめることができます。data.txtを以下のように変更してから実行しても先ほどと同じ結果が得られます。

計算式と結果を行単位で出力

 先ほどの方法でも計算はしてくれますが、計算式と計算結果の対応が分かりにくい状態です。計算結果を後でエクセルなどにペーストすればいいや、というのであれば別にこのままでもよいでしょう。でも、せっかくなので計算式の後に=も付けて、その後に計算結果を出力させましょう。
 と、その前に計算結果をリダイレクトを使ってファイルに保存しておきましょう。保存するファイル名はresult.txtとしています。また、data.txtと同じディレクトリに保存しています。

cat data.txt | bc > result.txt

 まず単純に2つのファイルを1行ずつ連結してしまいましょう。このような場合はpasteコマンドを使えば簡単にできます。今回は計算式と計算結果の行は同じなので、これで問題なく連結できます。

paste data.txt result.txt

エクセルにペーストして使うだけなら、この方が使いやすいでしょう。でも、そうではなくて計算式と結果を=(等号)付きで1行にまとめて欲しいという人もいるかもしれません。この場合はpasteコマンドでdオプションを利用します。-dの後に"="を指定すれば計算式と計算結果を=で連結してくれます。

paste -d "=" data.txt result.txt

 次回はPowerShellでの計算と少し高度なbcの使い方についてです。

著者 仲村次郎
いろいろな事に手を出してみたものの結局身につかず、とりあえず目的の事ができればいいんじゃないかみたいな感じで生きております。

この連載の前後回

  • 第43回
    Windows PowerShellでファイルダイアログを表示
  • 第42回
    コンピューター上の電卓機能(2)
  • 第41回
    コンピューター上の電卓機能(1)
  • 第40回
    文字数をカウントする(PowerShell)
  • 第39回
    文字数をカウントする(UNIX系)
この連載のバックナンバー

AIが勧める、あなたのための会員限定記事

  • 2026年の半導体市場はメモリ高騰で前年比62.7%増へ、Omdiaが予測を上方修正
    半導体

    鍵アイコン 2026年の半導体市場はメモリ高騰で前年比62.7%増へ、Omdiaが予測を上方修正

  • 工学院大など、M87近傍からの相対論的ジェットに伝播する「横波」を発見
    宇宙・航空

    鍵アイコン 工学院大など、M87近傍からの相対論的ジェットに伝播する「横波」を発見

  • OISTなど、藤原定家の文献と年輪から鎌倉時代の太陽プロトン現象を特定
    宇宙・航空

    鍵アイコン OISTなど、藤原定家の文献と年輪から鎌倉時代の太陽プロトン現象を特定

  • ソニー半導体事業率いた清水照士氏、AI Powerに参画 次世代セキュリティ半導体ATOM展開へ
    半導体

    鍵アイコン ソニー半導体事業率いた清水照士氏、AI Powerに参画 次世代セキュリティ半導体ATOM展開へ

  • NEC、通期決算は増収増益 AI戦略「SaaS is dead」時代を追い風に
    企業動向

    鍵アイコン NEC、通期決算は増収増益 AI戦略「SaaS is dead」時代を追い風に

  • 富士通、2025年度決算は減収増益で過去最高益を更新 - 次期中計にも時田CEOが言及
    企業動向

    鍵アイコン 富士通、2025年度決算は減収増益で過去最高益を更新 - 次期中計にも時田CEOが言及

アクセスランキング
  • ワークエリアのインターネット環境の意図せぬ制限が業務の限界点になる

    鍵アイコン ワークエリアのインターネット環境の意図せぬ制限が業務の限界点になる

    2026/04/28 13:37 レポート
  • 通勤スキル"リアルタイム混雑情報"の駆使で都心の通勤課題を乗り越える

    鍵アイコン 通勤スキル"リアルタイム混雑情報"の駆使で都心の通勤課題を乗り越える

    2026/04/27 16:56 レポート
  • エンタープライズIT新潮流 第69回 組織変革を加速する「組織OS」とは?ピーター・センゲに学ぶ"学習する組織"の本質

    2026/04/27 11:28 連載
  •  プログラム言語を利用する(Ruby)

    鍵アイコン なんとなくコマンド 第113回 プログラム言語を利用する(Ruby)

    2026/04/23 16:31 連載
  • "究極"のNano Bananaプロンプトガイドとは?Googleが公式ブログで指南

    鍵アイコン "究極"のNano Bananaプロンプトガイドとは?Googleが公式ブログで指南

    2026/03/11 17:19 レポート
ランキングをもっと見る
もっと見る

編集部が選ぶ関連記事

  • なんとなくコマンド 第40回 文字数をカウントする(PowerShell)
    キャリア/スキル

    鍵アイコン なんとなくコマンド 第40回 文字数をカウントする(PowerShell)

  • なんとなくコマンド 第39回 文字数をカウントする(UNIX系)
    キャリア/スキル

    鍵アイコン なんとなくコマンド 第39回 文字数をカウントする(UNIX系)

  • コマンド活用

※本記事は掲載時点の情報であり、最新のものとは異なる場合があります。予めご了承ください。

新着記事
  • ワークエリアのインターネット環境の意図せぬ制限が業務の限界点になる
    キャリア/スキル

    鍵アイコン ワークエリアのインターネット環境の意図せぬ制限が業務の限界点になる

    5時間前 レポート
  • 通勤スキル"リアルタイム混雑情報"の駆使で都心の通勤課題を乗り越える
    キャリア/スキル

    鍵アイコン 通勤スキル"リアルタイム混雑情報"の駆使で都心の通勤課題を乗り越える

    2026/04/27 16:56 レポート
  • エンタープライズIT新潮流 第69回 組織変革を加速する「組織OS」とは?ピーター・センゲに学ぶ"学習する組織"の本質
    キャリア/スキル

    エンタープライズIT新潮流 第69回 組織変革を加速する「組織OS」とは?ピーター・センゲに学ぶ"学習する組織"の本質

    2026/04/27 11:28 連載
  • Exa Enterprise AI、生成AI活用と変革を推進する人材の素養を測定できるテストを提供開始
    キャリア/スキル

    Exa Enterprise AI、生成AI活用と変革を推進する人材の素養を測定できるテストを提供開始

    2026/04/24 20:27
  • なんとなくコマンド 第113回 プログラム言語を利用する(Ruby)
    キャリア/スキル

    鍵アイコン なんとなくコマンド 第113回 プログラム言語を利用する(Ruby)

    2026/04/23 16:31 連載
  • 迷わないメニューの重要性とカスタマイズでトップメニューを変える心地良さ
    キャリア/スキル

    鍵アイコン 迷わないメニューの重要性とカスタマイズでトップメニューを変える心地良さ

    2026/04/22 14:35 レポート
こちらも注目
  • TECH+
  • 企業IT
  • キャリア/スキル
  • コンピューター上の電卓機能(1)

このカテゴリーについて

ビジネスパーソンのキャリアに関する情報や業務の効率化や生産性向上などのスキルアップに役立つ情報を提供していきます。

Techpopbanner upper Techpopbanner bottom
  • TECH+について
  • 利用規約
  • お知らせ
  • 会員規約
  • その他、お問い合わせ
  • 情報提供
  • サイトマップ
  • 広告について
  • 著作権と転載について
  • 個人情報の取り扱いについて
企業IT/テクノロジー/Members+ メールマガジン
  • 購読登録はこちら
  • 配信停止はこちら
TECH+ 公式SNS
Copyright © Mynavi Corporation