PowerShellを電卓に使うメリット

WindowsのPowerShellを電卓に使うと、

  • 式を書き上げて一気に計算できるので途中計算のメモの必要がない(または好きなだけメモ代わりに変数を使える)
  • 計算式を間違えても、履歴からすぐに呼び出せて修正できる
  • ファイル転送時間に関する計算など簡単にできる

まずは簡単な四則演算から

PowerShellを起動して

3+4

と打ってEnterを押してください。
答えが 7 と表示されるはずです。

この要領で、

計算
足し算 3+4
引き算 4-3
掛け算 4*3
割り算 4/3

と、やれば普通の計算ができます。割り算に関しては割り切れない場合は小数で表示されます。余りを出したい場合は % を使います。

計算順序を変える

3+4*5
(3+4)*5

二つの計算結果を見比べてみてください。
足し算より掛け算の優先順位が高いため、上の式では4*5の結果に3を足した23が答えになっていますね。下の式ではカッコの中身を先に計算して7*5の結果の35が答えになっていますね。

このようにカッコを使って計算順序を変えることができます。

初等関数とか

絶対値を計算したい場合は、[Math]::Absを使います。

[Math]::Abs(-100)

答えは100と出るはずです。こんな感じで用意されている関数を使うことができます。

軽く紹介します。

関数 意味 備考
[Math]::Abs(x) xの絶対値
[Math]::Sin(x) sin x
[Math]::Cos(x) cos x
[Math]::Tan(x) tan x
[Math]::Pow(x,y) xのy乗
[Math]::PI π
[Math]::E e(自然対数の底)

ファイルの転送時間を求めよう

PowerShellで

3GB

と入力すると、3221225472=3*1024*1024*1024の値が出てくると思います。

3GBのファイルを100Mbpsの速度で転送したときに何秒かかるか求めてみましょう。

3GB / 100MB * 8

答えは 245.76 秒ですね。(帯域を全て使い切る理想的な状態での時間です)
100Mbpsは100Mbit per secのことで、1byte = 8 bitですから、上では8を掛けていたのです。

3GBって0がいくつだっけ?とかそういうことを考えずに計算できるのはうれしいですね。