日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux中的一个命令行计算器bc简介

發(fā)布時間:2024/4/14 linux 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux中的一个命令行计算器bc简介 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

假如你在一個圖形桌面環(huán)境中需要一個計算器時,你可能只需要一路進(jìn)行點擊便可以找到一個計算器。例如,Fedora 工作站中就已經(jīng)包含了一個名為?Calculator?的工具。它有著幾種不同的操作模式,例如,你可以進(jìn)行復(fù)雜的數(shù)學(xué)運算或者金融運算。但是,你知道嗎,命令行也提供了一個與之相似的名為?bc?的工具?

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

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

dnf list installed bc

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

sudo dnf install bc

用 bc 做一些簡單的數(shù)學(xué)運算

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

$ bcbc 1.06.95Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.This is free software with ABSOLUTELY NO WARRANTY.For details type `warranty'.

?

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

1+1

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

2

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

(4+7)*24+7*2

?

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

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

echo '1+1' | bc

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

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

?

精度

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

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

?

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

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

?

同時,加法和減法的相關(guān)運算則與之相似:

echo '7-4.15' | bc

其他進(jìn)制系統(tǒng)

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

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

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

?

若要使得結(jié)果是十六進(jìn)制數(shù),則需要設(shè)定?obase?:

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

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

ibase=A

一旦你執(zhí)行了上面的命令,所有輸入的數(shù)字都將是十進(jìn)制的了,接著你便可以輸入?obase=10?來重置輸出的進(jìn)制系統(tǒng)。

結(jié)論

上面所提到的只是 bc 所能做到的基礎(chǔ)。它還允許你為某些復(fù)雜的運算和程序定義函數(shù)、變量和循環(huán)結(jié)構(gòu)。你可以在你的系統(tǒng)中將這些程序保存為文本文件以便你在需要的時候使用。你還可以在網(wǎng)上找到更多的資源,它們提供了更多的例子以及額外的函數(shù)庫。快樂地計算吧!

總結(jié)

以上是生活随笔為你收集整理的Linux中的一个命令行计算器bc简介的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。