www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀] 每個現代的Linux桌面發(fā)行版都預裝著一個帶有圖形界面的計算器程序。不過如果你的工作區(qū)中全是命令行窗口,那么你一定會在其中的一個命令行窗口中處理一些數字相關的問題。

 每個現代的Linux桌面發(fā)行版都預裝著一個帶有圖形界面的計算器程序。不過如果你的工作區(qū)中全是命令行窗口,那么你一定會在其中的一個命令行窗口中處理一些數字相關的問題?;蛟S你在尋找一款基于命令行的計算器程序。如果是這樣的話,GNU bc(“basic calculator”的縮寫)會是你不二的選擇。當然Linux下有很多基于命令行的計算器應用,我認為GNU bc是功能最強大和最有用的。

在GNU時代之前,bc實際上是一個著名的精密計算語言。它的誕生要追溯到70年代的Unix時期了。最初bc作為一個語法和C語言相似的編程語言而著名。隨著時間的改變,最開始的bc演化成POSIX bc,最后變成了今天的GNU bc。

GNU bc的特性

現在的GNU bc是早期bc經過若干次改進和功能增強的結果。目前它被所有的主流GNU/Linux發(fā)行版所收納。GNU bc支持高精度數字和多種數值類型(例如二進制、十進制、十六進制)的輸入輸出。

如果你對C語言很熟悉的話,你會發(fā)現bc使用了和C語言一樣或相似的算術操作符。所支持的操作符包括算術運算符(+, -, *, /, %, ++, --)、比較運算符(<, >, ==, !=, <=, >=)、邏輯運算符(!, &&, ||)、位運算符(&, |,,~, <<, >>)和復合賦值運算符(+=, -=, *=, /=, %=, &=, |=,=,&&=, ||=, <<=, >>=)。bc內置了很多有用的函數,像是平方根、正弦、余弦、反正弦、自然對數、指數等。

如何使用GNU bc

作為一個基于命令行的計算器,GNU bc的使用沒有限制。在本文中,我會向大家介紹bc命令的幾個常用的特性。如果你想要更加詳細的指導,你可以查閱官方指南。

如果你沒有一個預先寫好的bc腳本,那么你可以在交互模式下運行bc。在這種模式下,你輸入的以回車結束的任何聲明或者表達式會被立刻計算出結果。你需要輸入以下命令來進入bc的交互界面。如果想退出bc,你可以輸入‘quit‘并且按回車。

$ bc

本文下面展示的例子請在bc交互界面中輸入。

輸入表達式

如果想要計算一個算術表達式,我們可以在閃爍的光標處輸入該表達式,然后按回車確認。你也可以將該結果存儲到一個變量中,然后在其他表達式中使用該變量。

在一個bc的交互界面中,保存著沒有個數限制的命令歷史記錄。使用上方向鍵來查看之前輸入的命令。如果你想限制歷史記錄保存的命令數量,你可以將一個名為history的特殊變量設置成你希望的數值。該變量默認為-1,也就是“歷史記錄數量沒有限制”。

輸入輸出進制切換

經常會發(fā)生的是,你輸入一個表達式并且想使用二進制或者十六進制來顯示結果。bc允許你在輸入輸出數字的進制間轉換。輸入和輸出的數系基分別存儲在ibase和obase變量中,默認值為10,有效的數值是2到16(或者環(huán)境變量BCBASEMAX的值)。你只需要更改ibase和obase的值就可以在不同進制之間轉換了。下面是一個求兩個十六進制/二進制數和的例子:

需要注意的是,我有意地將obase=16放到了ibase=16前面,反過來則是不可以的。這個是因為如果我先輸入ibase=16,那么隨后輸入的obase=16中的16會被認為是16進制的數字,也就是十進制的22。當然這個不是我們所期望的。

調整精度

在bc中,數字的精度存儲在一個名為scale的特殊變量中。該變量表示小數點后數字的個數。scale默認為0,意味著所有的數字和結果以整數形式儲存。你可以通過改變scale這個特殊變量的值,來調整數值的精度。

scale=4

使用內置函數

除了簡單的算術操作符,GNU bc還通過外部的數學函數庫來提供許多高級的數學函數。你可以在命令行界面使用“-l”選項來打開bc。

這里描述了一些內置的函數。

N的二次方根:

sqrt(N)

X的正弦(X是弧度):

s(X)

X的余弦(X是弧度):

c(X)

X的反正弦(返回值是弧度):

a(X)

X的自然對數:

l(X)

X的指數對數:

e(X)

當做語言來用

作為一個計算語言,GNU bc支持簡單的聲明(變量賦值、中斷、返回等)、復合語句(if、while、for loop等)和自定義函數。在這里我不會涉及到這些特性的細節(jié),不過你可以通過官方指南來學習如何使用這些特性。下面是一個簡單的函數示例:

define dummy(x){return(x * x);}dummy(9)81dummy(4)16

在非交互界面下使用GNU bc

到目前為止,我們一直在交互界面下使用bc。不過更加流行的使用bc的方法是在沒有交互界面的腳本中運行bc。這種情況下,你可以使用echo命令并且借助管道來向bc發(fā)送輸入內容。例如:

$ echo "40*5" | bc$ echo "scale=4; 10/3" | bc$ echo "obase=16; ibase=2; 11101101101100010" | bc

總結一下,GNU bc是一款強大并且通用的基于命令行的計算器應用,它絕對不會讓你失望。它預裝在所有的現代Linux發(fā)行版中,bc可以讓你不用離開命令行就可以進行高效的數學計算。所以,GNU bc一定會是你的最愛。[!--empirenews.page--]

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯系該專欄作者,如若文章內容侵犯您的權益,請及時聯系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據LED驅動電源的公式,電感內電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉