bc
基本參數
$ bc -v
bc 1.07.1
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc.
$ bc -h
usage: bc [options] [file ...]
-h --help print this usage and exit
-i --interactive force interactive mode
-l --mathlib use the predefined math routines
-q --quiet don't print initial banner
-s --standard non-standard bc constructs are errors
-w --warn warn about non-standard bc constructs
-v --version print version information and exit
基本用法
- +:加
- -:減
- *:乘
- /:除
- ^:指數
- %:求餘數
- sqrt:開方
- ibase:輸入進制
- obase:輸出進制
- ;要計算多個結果用分号分隔
- scale:小數部分位數
使用 echo 指令來傳遞運算式或指令
- 3除以2保留3位小數:echo ‘scale=3; 3/2’ | bc
[[email protected] myb]# echo 'scale=3; 3/2'
scale=3; 3/2
[[email protected] myb]# echo 'scale=3; 3/2' | bc
1.500
[[email protected] myb]#
交換模式
[[email protected] myb]# bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
5/3
1
scale=5;5/3
1.66666
exit
0
^C
進制轉換
- 10進制的3轉換為2進制:echo “obase=2;3” |bc
[[email protected] myb]# echo "obase=2;3" |bc
11
- 10進制的11轉換為16進制:echo “obase=16;11” |bc
[[email protected] myb]# echo "obase=16;11" |bc
B
- 2進制轉16進制:echo “obase=16;ibase=2;11” |bc
[[email protected] myb]# echo "obase=16;ibase=2;11" |bc
3
[[email protected] myb]# echo "obase=16;ibase=2;111" |bc
F
- 2進制轉10進制:echo “obase=10;ibase=2;11” |bc
[[email protected] myb]# echo "obase=10;ibase=2;11" |bc
3
[[email protected] myb]# echo "obase=10;ibase=2;1111" |bc
15
[[email protected] myb]# echo "sqrt(100)" |bc
10
- 計算m的n次方:10的3次方,10的2次方,3的5次方:
[[email protected] myb]# echo "10^3;10^2;3^5" |bc
1000
100
243
注意事項
- obase 要盡量放在 ibase 前面,因為 ibase 設定後,後面的數字都是以 ibase 的進制來換算的。