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

歡迎訪問 生活随笔!

生活随笔

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

linux

linux实现乘法函数,linux命令行计算器

發(fā)布時(shí)間:2023/12/19 linux 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux实现乘法函数,linux命令行计算器 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

詳細(xì)文檔請 man bc

在windows下,大家都知道直接運(yùn)行calc,(c:\windows\system32\calc.exe),請可以打開計(jì)算器。

注:

calculate vt.&vi.

計(jì)算;calculator n. 計(jì)算器。calc就是這個(gè)計(jì)算的簡寫。

Ca在化學(xué)中是代表鈣元素,calcium

鈣(20號(hào)元素,符號(hào)Ca)。兩者有什么聯(lián)系呢?

calculate 來自calculus,原義是做算術(shù)運(yùn)算的小石子,是calx(石灰石)的小稱。

那么在linux系統(tǒng)下,有無與windows下calc.exe類似的計(jì)算器呢?

下面總結(jié)linux下的三個(gè)命令,來介紹一下linux下的計(jì)算方法:

1)bc

bc在默認(rèn)的情況下是個(gè)交互式的指 令。在bc工作環(huán)境下,可以使用以下計(jì)算符號(hào):

+ 加法

- 減法

* 乘法

/ 除法

^ 指數(shù)

% 余數(shù)

如:#

bc

bc 1.06

Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation,

Inc.

This is free software with ABSOLUTELY NO WARRANTY.

For details type `warranty'.

3+6

<=加法

9

4+2*3??????????<=加法、乘法

10

(4+2)*3????????<=加法、乘法(優(yōu)先)

18

4*6/8

<=乘法、除法

3

10^3

<=指數(shù)

1000

18%5???????????<=余數(shù)

3+4;5*2;5^2;18/4

<=一行輸入多個(gè)計(jì)算,用;相隔。

7

10

25

4

quit <=退出

# bc

bc 1.06

Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation,

Inc.

This is free software with ABSOLUTELY NO WARRANTY.

For details type `warranty'.

scale=3

<=設(shè)小數(shù)位

1/3

.333

quit

以上是交互的計(jì)算,那到也可以 不進(jìn)行交互而直接計(jì)算出結(jié)果。

A.用echo和|法,如:

# echo "(6+3)*2" |bc

18

# echo 15/4 |bc

3

# echo "scale=2;15/4"

|bc

3.75

# echo "3+4;5*2;5^2;18/4"

|bc

7

10

25

4

另外,

bc除了scale來設(shè)定小數(shù)位之外,還有ibase和obase來其它進(jìn)制的運(yùn)算。

如:

//將16進(jìn)制的A7輸出為10進(jìn)制, 注意,英文只能大寫

# echo "ibase=16;A7"

|bc

167

//將2進(jìn)制的11111111轉(zhuǎn)成10進(jìn)制

# echo "ibase=2;11111111"

|bc

255

//輸入為16進(jìn)制,輸出為2進(jìn)制

# echo "ibase=16;obase=2;B5-A4"

|bc

10001

對(duì)于bc還有補(bǔ)充,在bc --help中還可以發(fā)現(xiàn):bc后可以接文件名。如:

# more calc.txt

3+2

4+5

8*2

10/4

# bc calc.txt

5

9

16

2

2)expr

expr命令可不光能計(jì)算加減乘除哦,還有很多表達(dá)式,都可以計(jì)算出結(jié)果,不過有一點(diǎn)需要注意,在計(jì)算加減乘除時(shí),不要忘了使用空格和轉(zhuǎn)義。下

面直接用實(shí)例來介紹一下expr的運(yùn)算,如:

# expr 6 +

3

(有空格)

9

# expr?2 \*

3

(有轉(zhuǎn)義符號(hào))

6

# expr 14 % 9

5

# a=3

# expr

$a+5

(無空格)

3+5

# expr $a +

5

(變量,有空格)

8

#

a=`expr 4 + 2`

echo $a

6# expr $a + 3

9

另外,expr對(duì)于字串的操作(計(jì)算)也是很方便的,如:

//字串長度

#?expr length

"yangzhigang.cublog.cn"

21

//從位置處抓取字串

# expr substr "yangzhigang.cublog.cn"

1 11

yangzhigang

//字串開始處

# expr index

"yangzhigang.cublog.cn" cu

13

3)dc

用dc來進(jìn)行計(jì)算的人可以不多,因?yàn)閐c與bc相比要復(fù)雜,但是在進(jìn)行簡單的計(jì)劃時(shí),是差不多的,不算難。dc為壓棧操作,默認(rèn)也是交互的,但

也可以用echo和|來配合打算。

如:

# dc

3

2+

p

5

4*

p

20

quit

# echo 3 2+ 4* p |dc

20

4)echo

echo用來進(jìn)行回顯,是周知的事。上面也配合bc來進(jìn)行計(jì)算。其實(shí)echo也可以單獨(dú)進(jìn)行簡單的計(jì)算,如:

# echo $((3+5))

8

# echo $(((3+5)*2))

16

echo還可以進(jìn)行變量的計(jì)算,如:

# a=10

# b=5

# echo $(($a+$b))

15

# echo $a+$b

10+5

# echo $a+$b |bc

15

//計(jì)算前天的日期

#? echo `date

+%Y%m%d`

20090813

#? echo `date +%Y%m%d`-2

20090813-2

#? echo `date +%Y%m%d`-2

|bc20090811

5)AWK

awk在處理文件的時(shí),可以進(jìn)行運(yùn)算,那當(dāng)然也可以單單用來計(jì)算了,如:

# awk 'BEGIN{a=3+2;print

a}'

5

# awk 'BEGIN{a=(3+2)*2;print

a}'

10

Awk 支持常見的運(yùn)算符, 如 + (加),- (減), * (乘), / (除), ^ 或 ** (乘方), % (取模)

等等。 此外, awk 也提供了一些常用的數(shù)學(xué)函數(shù), 比如 sin(x), cos(x), exp(x), log(x),

sqrt(x), rand()。 使用這些運(yùn)算符和函數(shù)可以直接進(jìn)行一些簡單的運(yùn)算:

# echo | awk '{print

8+6}'

14

# echo | awk '{print

8/6}'

1.33333

# echo | awk '{print

9%5}'

4

總結(jié)

以上是生活随笔為你收集整理的linux实现乘法函数,linux命令行计算器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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