bc(獨有特點既包含整數,也包含小數)
bc是一種任意精度的計算語言,注意是一種語言,它提供了一些語法結構,
比如條件判斷、迴圈等,可以說是很強大的,但是我在實際中還沒有找到
需要這個用途的場合 。另外乙個用途就是用來進行進製轉換。
引數-i 強制互動模式;
-l 使用bc的內建庫,bc裡有一些數學庫,對三角計算等非常實用;
-q 進入bc互動模式時不再輸出版本等多餘的資訊。
特殊變數
ibase,obase 用於進製轉換,ibase是輸入的進製,obase是輸出的進製,預設是十進位制;
scale 小數保留位數,預設保留0位。
例子1:
[root@node01 day4]# bc
bc 1.06.95
this is free software with absolutely no warranty.
for details type `warranty'.
2+35
3*39
5/22
5%21
5**5
例子2:
[root@node01 day4]# echo 1+2|bc
3[root@node01 day4]# echo 1+3|bc
4[root@node01 day4]# echo 1+5|bc
6[root@node01 day4]# echo 1+5.1|bc (小數計算是bc特有的)
6.1[root@node01 day4]# echo 1.1+5.1|bc
6.2[root@node01 day4]# expr 1.1 + 2
expr: non-numeric argument
[root@node01 day4]# echo $((1.1+2))
-bash: 1.1+2: syntax error: invalid arithmetic operator (error token is ".1+2")
[root@node01 day4]# let 1+2
[root@node01 day4]# let 1.1+2
-bash: let: 1.1+2: syntax error: invalid arithmetic operator (error token is ".1+2")
[root@node01 day4]# echo 1.1-5.1|bc
-4.0
scale(保留小數字數)
[root@node01 day4]# echo "scale=1;1.1*2.2|bc"
scale=1;1.1*2.2|bc
[root@node01 day4]# echo "scale=1;1.1*2.2"|bc
2.4[root@node01 day4]# echo "1.1*2.2"|bc
2.4[root@node01 day4]# echo "1.1*2.2"|bc -l
2.42
[root@node01 day4]# echo "scale=1;1.3/2.2"|bc
.5[root@node01 day4]# echo "scale=3;1.3/2.2"|bc
.590
進製轉換
[root@node01 day4]# echo "obase=2;8"|bc 十進位制8轉換為2進製
1000
[root@node01 day4]# echo "obase=16;20"|bc 十進位制8轉換為16進製制
14例子3:
輸出表示式和結果
[root@node01 day4]# echo ` seq -s '+' 10 `=` seq -s "+" 10|bc`
1+2+3+4+5+6+7+8+9+10=55
[root@node01 day4]# echo ` seq -s '+' 10 `=$((`seq -s "+" 10`))
1+2+3+4+5+6+7+8+9+10=55
[root@node01 day4]# echo ` seq -s '+' 10 `=`seq -s " + " 10|xargs expr`
1+2+3+4+5+6+7+8+9+10=55
其他運算方法
typeset
$
shell中使用bc計算
bc是linux自帶的一款任意精度計算器,個人覺得挺好用比let exec好用 稍微舉幾個栗子 echo scale 2 100.00 10.55 bc echo scale 2 100.00 10.55 bc scale表示精度,這裡scale 2表示小數點後面保留兩位,一般的加減乘除。這個小數點...
shell中用bc進行浮點運算
bash 不能處理浮點運算,並且缺乏特定的一些操作,這些操作都是一些重要的計算功能.幸運的是,bc 可以解決這個問題.bc不僅僅是個多功能靈活的精確的工具,而且它還提供許多程式語言才具備的一些方便的功能.因為它是乙個完整的 unix 工具,所以它可以用在管道 中,bc在指令碼中也是很常用的.這裡有乙...
shell命令實現 bc計算器
我們將程式分為兩個部分 1.主程式bcmain.c include headall.h 實現bc程式 其主要功能是用來進行加減乘除的運算 其本質是乙個客戶端 伺服器的模型 pipe dc stdin 0 bc dc stdout1 pipe dc 使用者首先會連線到bc並將bc連線到dc,呼叫dc程...