sakawork @ ウィキ
計算
最終更新:
sakawork
-
view
計算(expr/bc)
expr
整数演算に利用
演算子
演算子 | |
---|---|
N1 + N2 | N1とN2の和 |
N1 - N2 | N1とN2の差 |
N1 \* N2 | N1とN2の積 |
N1 / N2 | N1とN2の商 |
N1 % N2 | N1とN2の剰余 |
N1 | N2 | N1とN2のOR |
N1 \& N2 | N1とN2のAND |
\( \) | 括弧(優先) |
※計算する要素と演算子はスペースで離すこと
他に > >= < <= = != などの演算子があるが真(1)偽(0)でありシェルのほかの条件判定と逆になっている
また文字列関連の演算子 ":" "match" "substr" "index" "length"などもある
機会があったら追記するかも
他に > >= < <= = != などの演算子があるが真(1)偽(0)でありシェルのほかの条件判定と逆になっている
また文字列関連の演算子 ":" "match" "substr" "index" "length"などもある
機会があったら追記するかも
使用例
$ expr 2 \* 9 18 $ expr \( 2 + 3 \) \* 4 20 $ AAA=`expr 1 + 2` $ echo $AAA 3 $ AAA=`expr $AAA + 1` 4
bc
少数計算が可能
演算子
演算子 | |
---|---|
scale=N1 | 小数点以下N1桁まで表示(デフォルトは0) |
N1+N2 | N1とN2の和 |
N1-N2 | N1とN2の差 |
N1*N2 | N1とN2の積 |
N1/N2 | N1とN2の商 |
N1%N2 | N1とN2の剰余 |
N1||N2 | N1とN2のOR |
N1&&N2 | N1とN2のAND |
N1^N2 | N1のN2乗 |
\( \) | 括弧(優先) |
bc単体で起動した場合はquitで抜ける
使用例
bcを単体起動した例
$ bc 2*9 ←入力 18 quit
bcをパイプで使用した例
$ echo 2*9 |bc 18 $ AAA=3 $ AAA=`echo $AAA*2 |bc` $ echo $AAA 6
少数計算
$ echo "scale=3; 1/3 " |bc .333 $ echo "scale=2; 1000/24 " |bc 41.66
注意すべき点:剰余はscale=0でないと誤動作する
$ echo 2%3 |bc 2 $ echo "scale=2;2%3" |bc .02