1. 基本使用:
$ bc <<< 5*4
20$ bc <<< 5+4
9$ bc <<< 5-4
1
或者
$ echo "5*4" | bc
20$ echo "5+4" | bc
9$ echo "5-4" | bc
1
也能夠把算式寫到檔案中面。然後一次計算。
$ cat calcfile
5+56+7
$ bc < calcfile
1013
也能夠使用here 命令:
$ bc << here
> 1+4
> 4-1
> 2*4
> here53
8
$ echo "5-4;last+6" | bc
17
last 也能夠用 點號取代:
$ echo "5-4;.+6" | bc
17
2. 浮點數運算:
能夠使用scale指定小數點之後的位數(默覺得0,即整數)
$ echo "sqrt(10)" | bc
3$ echo "scale=1;sqrt(10)" | bc
3.1$ echo "scale=10;sqrt(10)" | bc
3.1622776601
有時候得不到指定的位數:
$ echo "scale=10; 1.25*9" | bc
11.25
此時,能夠改動為:
$ echo "scale=10; 1.25*9/1" | bc
11.2500000000
3. 數制轉換:
能夠使用變數 ibase表示轉換前數字的數制;obase表示轉換後數字的數制
$ echo 'obase=16;128' | bc
80
$ echo 'ibase=16;obase=a;80' | bc
128
$ echo 'obase=2;128' | bc
10000000
$ echo 'ibase=2;obase=a;10000000' | bc
128
$ echo "obase=10;ibase=16;80" | bc128
4. 指數運算:
$ echo "5^5" | bc
3125
$ echo "(5^5)^5" | bc
298023223876953125
記得第乙個指數運算的結果要加入括號。
5. 基於函式庫的運算
bc支援下面函式:
s(x): 正弦函式(x為弧度)
c(x): 余弦函式(x為弧度)
a(x): 反正切函式(結果為弧度)
l(x): 自然對數函式
e(x): 以e為底的指數函式
j(n,x): 貝賽爾函式
此時。bc要加上 -l 引數 (此時。 scale 為20)
計算 log1.5(2) (以 1.5為底,2的對數):
$ echo "l(2)/l(1.5)" | bc -l
1.70951129135145477699
也能夠用 awk命令:
$ awk 'begin '
1.709511291
6. 指令碼函式程式設計:
$ cat calc_prog
print "enter a number a\n"; a = read()
print "enter another number b\n"; b = read()
if (b == a)
if (a < b)
if (a > b)
$ bc -l calc_prog
7. 指令碼模擬計算器:
$ cat calc.sh
#!/bin/bash
bc << end
scale=2
$@end
$ ./test.sh 1+2
3
參考: 命令列 計算器
using system using system.collections.generic using system.text namespace calc console.writeline 請再次輸入乙個數字。ls s console.readline trim li s convert.toi...
Linux bc命令實現數學計算器
bash shell 內建了對整數運算的支援,但是並不支援浮點運算,而 linux bc 命令可以很方便的進行浮點運算,當然整數運算也不再話下。bc 甚至可以稱得上是一種程式語言了,它支援變數 陣列 輸入輸出 分支結構 迴圈結構 函式等基本的程式設計元素,所以 linux 手冊中是這樣來描述 bc ...
linux命令列計算器
下面總結linux下的三個命令,來介紹一下linux下的計算方法 1 bc bc在預設的情況下是個互動式的指 令。在bc工作環境下,可以使用以下計算符號 加法 減法 乘法 除法 指數 餘數 一行輸入多個計算,用 相隔 quit 退出 scale 3 設小數字 不進行互動而直接計算出結果 echo s...