中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

linux中如何使用bc 工具

發布時間:2021-10-28 17:06:30 來源:億速云 閱讀:342 作者:小新 欄目:系統運維

小編給大家分享一下linux中如何使用bc 工具,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

bc  工具可以為你提供的功能可以滿足你對科學計算器、金融計算器或者是簡單計算器的期望。另外,假如需要的話,它還可以從命令行中被腳本化。這使得當你需要做復雜的數學運算時,你可以在  shell 腳本中使用它。

因為 bc 也被用于其他的系統軟件,例如 CUPS 打印服務,所以它可能已經在你的 Fedora  系統中被安裝了。你可以使用下面這個命令來進行檢查:

dnf list installed bc

假如因為某些原因你沒有在上面命令的輸出中看到它,你可以使用下面的這個命令來安裝它:

sudo dnf install bc

用 bc 做一些簡單的數學運算

使用 bc 的一種方式是進入它自己的 shell。在那里你可以按行進行許多次計算。當你鍵入 bc 后,首先出現的是有關這個程序的警告:

$ bc 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'.

現在你可以按照每行一個輸入運算式或者命令了:

1+1

bc 會回答上面計算式的答案是:

2

在這里你還可以執行其他的命令。你可以使用 加(+)、減(-)、乘(*)、除(/)、圓括號、指數符號(^) 等等。請注意 bc  同樣也遵循所有約定俗成的運算規則,例如運算的先后順序。你可以試試下面的例子:

(4+7)*2 4+7*2

若要退出 bc 可以通過按鍵組合 Ctrl+D 來發送 “輸入結束”信號給 bc 。

使用 bc 的另一種方式是使用 echo 命令來傳遞運算式或命令。下面這個示例就是計算器中的 “Hello, world” 例子,使用 shell  的管道函數(|) 來將 echo 的輸出傳入 bc 中:

echo '1+1' | bc

使用 shell 的管道,你可以發送不止一個運算操作,你需要使用分號來分隔不同的運算。結果將在不同的行中返回。

echo '1+1; 2+2' | bc

精度

在某些計算中,bc 會使用精度的概念,即小數點后面的數字位數。默認的精度是  0。除法操作總是使用精度的設定。所以,如果你沒有設置精度,有可能會帶來意想不到的答案:

echo '3/2' | bc echo 'scale=3; 3/2' | bc

乘法使用一個更復雜的精度選擇機制:

echo '3*2' | bc echo '3*2.0' | bc

同時,加法和減法的相關運算則與之相似:

echo '7-4.15' | bc

其他進制系統

bc 的另一個有用的功能是可以使用除了十進制以外的其他計數系統。例如,你可以輕松地做十六進制或二進制的數學運算。可以使用 ibase 和 obase  命令來分別設定輸入和輸出的進制系統。需要記住的是一旦你使用了 ibase,之后你輸入的任何數字都將被認為是在新定義的進制系統中。

要做十六進制數到十進制數的轉換或運算,你可以使用類似下面的命令。請注意大于 9 的十六進制數必須是大寫的(A-F):

echo 'ibase=16; A42F' | bc echo 'ibase=16; 5F72+C39B' | bc

若要使得結果是十六進制數,則需要設定 obase :

echo 'obase=16; ibase=16; 5F72+C39B' | bc

下面是一個小技巧。假如你在 shell 中做這些十六進制運算,怎樣才能使得輸入重新為十進制數呢?答案是使用 ibase  命令,但你必須設定它為在當前進制中與十進制中的 10 等價的值。例如,假如 ibase 被設定為十六進制,你需要輸入:

ibase=A

一旦你執行了上面的命令,所有輸入的數字都將是十進制的了,接著你便可以輸入 obase=10 來重置輸出的進制系統。

以上是“linux中如何使用bc 工具”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

丹阳市| 蓝山县| 瓦房店市| 稻城县| 兴山县| 英吉沙县| 疏附县| 乐东| 灯塔市| 洛宁县| 沿河| 泰州市| 株洲县| 丹凤县| 陈巴尔虎旗| 灵宝市| 莱西市| 元谋县| 吉木萨尔县| 淳安县| 宜兴市| 肃宁县| 洞头县| 左云县| 青海省| 廉江市| 滦南县| 柳河县| 大理市| 哈尔滨市| 克什克腾旗| 连南| 炎陵县| 南投县| 厦门市| 昌江| 宿迁市| 防城港市| 皋兰县| 邹平县| 六盘水市|