linux的程序员计算器,linux中的计算器
windows系統安裝時會自帶計算器,在cmd中運行calc即可打開。那么linux系統中有沒有計算器呢?答案是肯定的。
linux下的圖形計算器
linux系統一般也會默認安裝一個圖形界面的計算器,例如紅帽系統默認安裝的是gcalctool。假如在一個圖形桌面環境中需要一個計算器時,在終端中運行gcalctool即可打開。
如果系統沒有運行桌面環境,那是否有一個支持命令行的計算器呢?
linux下的命令行計算器
bc是任意精度計算器,官方對它的描述是“an arbitrary precision calculator language”,一種支持任意精度計算的計算器語言,它支持變量、數組、輸入輸出、分支結構、循環結構、函數等基本的編程元素。bc可以在交互環境下使用,也可以再shell編程中使用。
* 交互模式下使用bc
在終端中輸入bc --help,可以查看bc的使用說明:
[release@redhat59-211 ~]$ bc -h
usage: bc [options] [file ...]
-h --help print this usage and exit,顯示幫助
-i --interactive force interactive mode,強制進入交互模式
-l --mathlib use the predefine math routnes,加載數學庫
-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,顯示版本
bc有四個常用的內置變量,如下表所示:
變量名
作用
scale
指定精度,即小數點后的位數,默認為0
ibase
指定輸入的數字的進制,如ibase=2
obase
指定輸入數字的進制,如果需要設置ibase和obase,應先設置obase
last
表示最近打印的數字
在終端中輸入bc,可以進行bc的交互模式,然后輸入想要計算的表達式即可。示例如下圖,可見bc支持變量、函數,功能還是挺強大的。
[release@redhat59-211 ~]$ bc
bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
1+1
2
n=2
n+1
3
sqrt(9)
3
define myadd(a,b){
return a+b;
}
myadd(1,2)
3
last
3
此外,如果想計算正弦、余弦、正切等,可以在啟動bc時加-l參數,如bc -l,這樣就引入了數學庫,可以使用s(1)計算1的正弦值。
函數名
作用
s(x)
計算正弦值,x為弧度值
c(x)
計算余弦值
a(x)
計算反正切值
l(x)
計算x的自然對數
e(x)
計算e的x次方
j(n,x)
貝塞爾函數,計算從n到x的階數
[root@localhost bin]# bc -l
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'.
s(1)
.84147098480789650665
c(1)
.54030230586813971740
s(1)*s(1)+c(1)*c(1)
.99999999999999999999
* shell腳本中使用bc計算器
在shell腳本中可以借助管道或者輸入重定向來使用bc計算器。
借助管道使用bc
echo "expression"|bc,其中expression是計算的數學表達式。
示例:var=$(echo "1+1"|bc),將1+1的計算結果賦值給var變量
[release@redhat59-211 ~]$ echo "10^2"|bc
100
[release@redhat59-211 ~]$ var=$(echo "10^2"|bc)
[release@redhat59-211 ~]$ echo $var
100
[release@redhat59-211 ~]$ echo "$var*2"|bc
200
[release@redhat59-211 ~]$ echo "obase=2;10"|bc 10轉換為2進制
1010
借助重定向使用bc
使用方法:
var=$(bc <
expressions
EOF
)
示例:
[release@redhat59-211 ~]$ var=$(bc <
> obase=10;
> ibase=16;
> F
> EOF
> )
[release@redhat59-211 ~]$ echo $var
15
總結
以上是生活随笔為你收集整理的linux的程序员计算器,linux中的计算器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: fsguiexe.exe进程是什么文件
- 下一篇: eclipse 跑maven命令_mav