大家都知道,windows下有個計算器工具,我們在工作生活中經(jīng)常使用到它。但是,你可知Linux下也同樣有個計算器嗎?
當然,良許說的是命令行下的計算器工具,而不是界面型的計算器。良許是Linux應用開發(fā)工程師,平時基本是在命令行下工作,所以對于界面類的操作良許也不是非常擅長。
啟動計算器
啟動這個命令行計算器很簡單,只需在終端下輸入bc即可。bc是英語basic calculator的縮寫。退出計算器也很簡單,只需輸入quit即可。
選項
當然,這個計算器也是可以帶選項的,常用的選項如下:
-i:強制進入交互式模式;
-l:定義使用的標準數(shù)學庫;
-w:對POSIX bc的擴展給出警告信息;
-q:不打印正常的GNU bc環(huán)境信息;
-v:顯示指令版本信息;
-h:顯示指令的幫助信息。
基本運算
啟動計算器之后,就可以在里面進行計算了?;镜倪\算如下:
+ 加法
- 減法
/ 除法
^ 指數(shù)
% 余數(shù)
當然,如果只支持這些運算的話,那也太小兒科了,它的強大之處還在后頭。
表達式運算
如果要計算一個表達示,直接在bc里輸入表達式即可。bc會將變量存儲,其它表達式也可以直接使用這個變量。
進制切換
作為一個程序員,我們經(jīng)常與二進制,十進制,十六進制進行打交道,bc當然也支持這些操作。輸入和輸出的數(shù)系基分別存儲在ibase和obase變量中,默認值為10,有效的數(shù)值是2到16。也就是說,我們除了常規(guī)的2、8、10、16進制,還可以使用3、5、7、9等進制。
但是,在進行設置的時候,一定要先設置obase,再設置ibase。因為如果先設置ibase的話,再設置obase時,obase等號后面的數(shù)字就會被認為是ibase設置的進制值。
精度調(diào)整
bc默認的精度是0,也就是說,bc是默認以整數(shù)的方式進行存儲。我們可以通過設置scale這個變量來進行調(diào)整精度。
使用內(nèi)置函數(shù)
除了簡單的算術操作符,bc還通過外部的數(shù)學函數(shù)庫來提供許多高級的數(shù)學函數(shù)。此時,應該使用-l選項。常用的函數(shù)如下:
N的二次方根 sqrt(N)
X的正弦(X是弧度) s(X)
X的余弦(X是弧度) c(X)
X的反正弦(返回值是弧度) a(X)
X的自然對數(shù): l(X)
X的指數(shù)對數(shù): e(X)
編程運算
作為一個計算語言,bc支持簡單的聲明(變量賦值、中斷、返回等)、復合語句(if、while、for loop等)和自定義函數(shù)。這個功能就比較高級,更詳細的內(nèi)容可以參考官方指南。
通過管道操作
直接上例子:
也能夠使用HERE 命令:
能夠使用內(nèi)置的變量 last 引用上一次的結果:
last 也能夠用 點號取代:
非交互界面下使用bc
到目前為止,我們一直在交互界面下使用bc。不過更加流行的使用bc的方法是在沒有交互界面的腳本中運行bc。這種情況下,你可以使用echo命令并且借助管道來向bc發(fā)送輸入內(nèi)容。
運行結果:
一個簡單的計算三角形面積的程序
進行結果:
結語
bc這個命令行計算器非常強大,至少比window自帶的計算器要強大很多。這個工具特別適合linux開發(fā)人員,在無需打開手機計算器的情況下,很方便的就可以進行數(shù)學運算。同時,也可以編寫腳本進行更復雜的數(shù)學運算。更強大的功能還有待你的發(fā)現(xiàn)!
更多精彩內(nèi)容,請關注公眾號良許Linux,公眾內(nèi)回復1024可免費獲得5T技術資料,包括:Linux,C/C++,Python,樹莓派,嵌入式,Java,人工智能,等等。公眾號內(nèi)回復進群,邀請您進高手如云技術交流群。
另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。
當前名稱:Linux里隱藏的計算器,你知道它的奧秘嗎?-創(chuàng)新互聯(lián)
當前鏈接:http://aaarwkj.com/article4/icsie.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供微信公眾號、外貿(mào)網(wǎng)站建設、微信小程序、標簽優(yōu)化、云服務器、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)