Shell中計算模組 bc的使用

2021-08-28 15:14:24 字數 1920 閱讀 2942

在linux終端中如果需要進行一些計算,我們可以方便的使用bc這個工具來實現基本的數學計算功能。

bc 是basic calculator/bench calculator的簡稱。其語法類似於c語言,支援加減乘除還有更多複雜的運算。

1.使用方法

bc可以通過兩種方式進行使用:

首先可以在bash中輸入

>>

>

bc1+2

3

直接進入互動模式,來進行加減乘除的運算。

此外,更為通用的是利用管道的方式來進行計算:

echo

'6.5/2.7'|bc

>>

> 2

echo

'scale=5;6.5/2.7'|bc

#其中scale是控制小數點位數

>>

> 2.40740

2.功能選項

bc有一系列功能開關:

-h, --help: 幫助.

-i, --interactive: 互動模式.

-l, --mathlib: 預置數學程式.

-q, --quiet: 安靜模式.

-s, --standard: 標準bc結構輸入.

-w, --warn: 非標準結構給出警告.

-v, --version: 版本號.

3.基本使用例子
#關係運算子

||, &&, !, =, ==

#基本數**算

+, -, *, /, %, ^,

#自增,自減

++, --

#邏輯運算子

, <=, >=, !=

一些特殊的表示式引數:

length(

)#用於求表示式的結果長度

length(300)

3scale(

)#用於獲取表示式小數點後位數

scale(3.14)

2sqrt(

)#求平方根

scale=6;sqrt(21)

4.582575

#如果使用了bc -l,可以將預置的數**算匯入

s(x)

#sin函式,x為弧度

s(3.14)

.00159265291648695254

c(x)

#cos函式

c(0)

1.00000000000000000000

a(x)

#arctang函式

a(sqrt(2)/2)

0.61547970867038734106

l(x)

#自然對數

l(10)

2.30258509299404568401

e(x)

#自然數為底的指數函式

e(2)

7.38905609893065022723

j(n,x)

#basel函式,n階

j(1,3)

0.33905895852593645892

計算圓周率:

scale=10; 4*a(1) #arctan(1)--pi/4

定義函式:

define f (x)

f(10)

>>

> 3628800

ref:1,2

shell中使用bc計算

bc是linux自帶的一款任意精度計算器,個人覺得挺好用比let exec好用 稍微舉幾個栗子 echo scale 2 100.00 10.55 bc echo scale 2 100.00 10.55 bc scale表示精度,這裡scale 2表示小數點後面保留兩位,一般的加減乘除。這個小數點...

shell命令實現 bc計算器

我們將程式分為兩個部分 1.主程式bcmain.c include headall.h 實現bc程式 其主要功能是用來進行加減乘除的運算 其本質是乙個客戶端 伺服器的模型 pipe dc stdin 0 bc dc stdout1 pipe dc 使用者首先會連線到bc並將bc連線到dc,呼叫dc程...

BC95 G NB IOT 模組使用

連線過程 tcp連線過程 最底層分兩部分,udp和tcp連線。在udp協議之上,模組還封裝了coap協議,據移遠官方說明,目前沒有整合lwm2m協議 bc28模組有整合 1.中國聯通和中國移動 兩家公司都支援udp資料傳輸模式,上下行資料都沒有限制。2.中國電信 電信公司目前知道的情況是,上下行資料...