Command-Line

bc 與 dc 有何不同?

  • July 28, 2019

dcbc計算器有什麼區別?

我應該什麼時候使用dc,什麼時候使用bc

dc是一個非常古老的工具,比bc. 引用維基百科頁面

它是最古老的 Unix 實用程序之一,甚至早於 C 程式語言的發明;與那個年代的其他實用程序一樣,它具有一組強大的功能,但語法非常簡潔。

語法是一種反向波蘭符號,這基本上意味著參數(即數字)首先出現,然後是運算符。一個基本的dc用法範例是:

echo '3 4 * p' | dc

需要p列印計算結果的地方。bc另一方面,使用更熟悉的中綴表示法,因此使用起來更直覺。這是一個bc使用範例:

echo '3 * 4' | bc

使用哪一個?

bc由 POSIX 標準化,因此可能是兩者中更便攜的(至少在現代系統上)。如果您正在做手動計算器工作,那麼這絕對是您的選擇(除非您有點受虐狂)。dc雖然仍然可以使用,但在這種情況下,反向波蘭符號會派上用場。想像一下,您有一個程序可以輸出要總計的數字流,例如:

23
7
90
74
29

要做到這dc一點非常簡單(至少在現代實現中每個運算符可以接受兩個以上的數字),因為您只需將 a 附加+p到流中,例如:

{ gen_nums; echo +p } | dc

bc它更複雜,因為我們不僅需要在每個數字+ 之間放一個 a並確保所有內容都在同一行上,而且還要確保最後有一個換行符:

{ gen_nums | sed '$ !s/$/+/' | tr -d '\n'; echo; } | bc

引用自:https://unix.stackexchange.com/questions/124518