您好,登錄后才能下訂單哦!
一、整數(shù)的四則運(yùn)算
(1)使用let 表達(dá)式, 變量前不需要加'$'
let sum=num1+num2
(2)$[表達(dá)式], 變量前既可以加$, 也可以不加$
sum=$[num1 + num2] sum2=$[$num1 - 5] sum3=$[num1 + 3]
(3)$((表達(dá)式)), 變量前既可以加$, 也可以不加$
result=$(($num1 + num2 - 5))
(4)expr, 使用‘`’字符將表達(dá)式闊起來(lái),或則使用$(expr 表達(dá)式), 操作數(shù)和操作符必須用空格分割
result=`expr $num \* 4` #乘法 * 需要轉(zhuǎn)義 result2=$(expr $num / 3)
二、浮點(diǎn)數(shù)的四則運(yùn)算
bc是一個(gè)數(shù)學(xué)運(yùn)算的高級(jí)工具,使用分號(hào)作為定界符,通過(guò)stdin傳遞給bc。
(1)設(shè)置小數(shù)精度
通過(guò)設(shè)置scale的值,指定結(jié)果的小數(shù)位數(shù)
$ echo "scale=2;4/3" | bc $ 1.33
(2)進(jìn)制轉(zhuǎn)換
通過(guò)設(shè)置obase的值,將輸入數(shù)字轉(zhuǎn)換為obase設(shè)置的值的進(jìn)制數(shù)
$ echo "obase=2;3" | bc #轉(zhuǎn)換為二進(jìn)制 $ 11 $ echo "obase=8;3" | bc #轉(zhuǎn)換為八進(jìn)制 $ 3 $ echo "obase=8;9" | bc #轉(zhuǎn)換為八進(jìn)制 $ 11 $ echo "obase=16;10" | bc #轉(zhuǎn)換為十六進(jìn)制 $ A
(3)一些高級(jí)應(yīng)用
$ echo "sqrt(16)" | bc $ 4 $ echo "10 ^ 2" | bc $ 100
三、例子
#!/bin/bash num1=3 num2=5 #使用let時(shí),變量前不需要加 $ let sum=num1+num2 echo "$num1 + $num2 = $sum" let num1++ #自增 let num2-- #自減 echo "num1=$num1, num2=$num2" let num1+=5 #復(fù)合運(yùn)算 let num2-=2 echo "num1=$num1, num2=$num2" #使用 $[表達(dá)式] 進(jìn)行計(jì)算 div=$[num1 / num2] echo "$num1 / $num2 = $div" sss=$[num1 + num2] echo "$num1 + $num2 = $sss" num3=$[num1 - 3] echo "num3=$num3" #使用 $((表達(dá)式)), 其中表達(dá)式中的變量可以用$,也可以不使用$ num4=$(($num1 + num2 - num3 + 4)) echo "num4=$num4" #使用 expr 進(jìn)行計(jì)算, 操作數(shù)和操作符必須要空格隔開(kāi) num5=`expr $num1 + $num3` echo "num5=$num5" num6=`expr $num2+$num4` echo "num6=$num6" #由于操作數(shù)和操作符沒(méi)有隔開(kāi),變成了一個(gè)字符串,并沒(méi)有計(jì)算 result=`expr $num1 \* 4` #乘法 * 需要轉(zhuǎn)義 echo "result=$result" result2=$(expr $num2 / 3) echo "result2=$result2" #以上都只能進(jìn)行整數(shù)的計(jì)算,不能對(duì)浮點(diǎn)數(shù)進(jìn)行操作
結(jié)果:
3 + 5 = 8
num1=4, num2=4
num1=9, num2=2
9 / 2 = 4
9 + 2 = 11
num3=6
num4=9
num5=15
num6=2+9 #這個(gè)即為操作數(shù)和操作符沒(méi)有隔開(kāi)的結(jié)果
result=36
result2=0
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。